Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema en consulta con String (https://www.clubdelphi.com/foros/showthread.php?t=18674)

T-man 18-02-2005 18:10:26

Problema en consulta con String
 
Hola gente..tengo el siguiente problema..
tengo un campo codigo que necesito que sea varchar porque tiene '/' y '-'.
pero cuando hago:

select *
from table
where codigo=:cod

y ejecuto la consulta por codigo:

IBDataset.close;
IBDataset.params[0].asString:=edit1.text; //capturo el parametro de un edit por ej con '101-1'
IBDataset.open;

me tira un error de Interbase diciendo que existe un error de conversion de string...y yo no estoy haciendo ninguna conversion..
saben que puede ser??
muchas gracias. espero su ayuda.

T-man 21-02-2005 16:54:31

Sigo sin solucionar el problema que comente en este hilo...
cuando quiero capturar el string '101-1'...creo que se piensa que estoy haciendo 101 (menos) 1, lo cual ahi me da un error de conversion..pero no es lo que quiero que haga..
sigo esperando ayuda.gracias

sercornejov 21-02-2005 21:16:37

Cita:

Empezado por T-man
select *
from table
where codigo=:cod

y ejecuto la consulta por codigo:

IBDataset.close;
IBDataset.params[0].asString:=edit1.text; //capturo el parametro de un edit por ej con '101-1'
IBDataset.open;

Faltaría ver como defines el param[0] dentro de la aplicación, Debe estar definido como tipo String. Pero talves una solucion sea:
Código:

IBDataset.params.items[0].value:=QuotedStr(edit1.text); //capturo el parametro de un edit por ej con '101-1'
Si no te funciona, coloca más información para ver si se te puede ayudar...

Sergio

T-man 22-02-2005 10:30:48

sigue sin funcionar...


y mas informacion la verdad que no puedo dar...todo el codigo ya lo puse antes..
el tema es muy facil:

* tengo un edit donde capturo el parametro..
* tengo un IBDataset (tambien lo probe con IBQuery) donde en el sql
tengo select * from table where codigo=:cod
*Ejecuto el IB por codigo:
IB.open;
IB.params[0].asString:=edit1.text;
IB.close;

y el error que me da es un InterbaseError diciendo que hay un error de conversion con el string '100/1'...

lo probe con el quotedstr y tampoco funciono. Si ingreso en el edit el string '100.1', si funciona. pero necesito que el codigo sea 'xxx/x' o 'xxx-x'

es un error muy simple, pero no lo puedo hacer funcionar...interbase debe hacer una conversion de datos que es lo que me tira este error pero no se que hacer para camuflar ese string y pasarlo a uno valido.

a ver si me pueden ayudar que llevo varios dias..gracias

StartKill 24-02-2005 18:19:03

Por curiosidad, el campo codigo de que tipo es??

Your friend

StartKill
Lima-Perú

T-man 25-02-2005 11:41:50

el campo código es varchar(15), porque puede llevar caracteres como números o caracteres especiales como /,- que son justamente los que me dan el error.


hagan una simple prueba con el codigo que escribi en el primer post y veran como les da error. no encuentro la forma de arreglarlo.


La franja horaria es GMT +2. Ahora son las 00:53:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi