Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Busqueda de registro, error de String.. (https://www.clubdelphi.com/foros/showthread.php?t=87959)

alexglez1255 25-03-2015 01:47:18

Busqueda de registro, error de String..
 
buenas tardes, tengo un problema con un cliendataset anidado...les agradeseria muchisismo su ayuda
hago una busqueda en una tabla de clientes donde en el query solo declaro dos campos una ves que hayo el registro paso el valor
del cod_cliente a la tabla principal....bueno este el codigo..

Código Delphi [-]
procedure TFrclientesmod.btnBuscarCteClick(Sender: TObject);
begin
  //Buscar numero de cliente
  if cmbBusqCte.ItemIndex=0 then
    logicanegocio.CDSclieCOD.Locate('COD_CLIENTE',edtBuscarCte.Text,[loCaseInsensitive])
  else
    //Buscar por nombre de cliente
    logicanegocio.CDSclieCOD.Locate('CLIENTE',edtBuscarCte.Text,[loPartialKey]);
  logicanegocio.cdsClien.close;
  logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').AsString:=logicanegocio.CDSclieCODCLIENTE.Value;
  logicanegocio.cdsClien.open;
end;

end.
di seguimiento con F7 y todo trabaja bien hasta la linea de logicanegocio.cdsclien.open;

me da el siguiente mensaje de error

Cita:

SQL error code 303
Conversion error from string "bbb "
Donde "bbbb " es el campo de CLIENTE en la tabla de clientes"

Ya revise el tipo de datos y no encuentro cual es el error......apreciaria mucho su ayuda muchas gracias llevo ya dos dias atorado con este error y no se donde esta...muchas gracias

ecfisa 25-03-2015 04:08:36

Hola alexglez1255.

Desconozco, que RDBMS usas, la definición de las columnas en la tabla, que datasets estas usando y las relaciones que hay entre ellos.
Pero la primer pregunta que se me viene a la mente es: ¿ De que tipo es la columna COD_CLIENTE ?, así que en principio te diría que intentes cambiando esta línea:
Código Delphi [-]
...
   logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').Value:= logicanegocio.CDSclieCODCLIENTE.Value;
...
Pero con la poca información que dispongo, bien podría ser otra cosa...

Saludos :)

alexglez1255 25-03-2015 04:56:17

gracias voy a ver y te doy mas detalles.. aprecio tu ayuda

alexglez1255 25-03-2015 05:20:53

ya use tu sugerencia y me dio el siguiente error: "Invalid variant type conversion"
La busque solo en la tabla de clientes y uso un query donde uso dos campos, COD_CLIENTE , integer
y CLIENTE tipo CHAR 60 y el codico de caracteres es ISO8859_1.. ME EXPLICO...? estoy tratando de hacer la opcion de modificar clientes
pero antes debo de encontrarlo...gracias

AgustinOrtu 25-03-2015 05:34:36

Si sacas todo el codigo y dejas solo el open tambien da error?

EDITO:

Estas asignando en tu campo "Cod_Cliente" del cdsClien, el valor del campo "CLIENTE" del CDSclieCOD.

Código Delphi [-]
logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').AsString := logicanegocio.CDSclieCODCLIENTE.Value;

Sustituilo por

Código Delphi [-]
logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').Value := logicanegocio.CDSclieCODCod_Cliente.Value;

o bien

Código Delphi [-]
logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').Value := logicanegocio.CDSclieCOD.FieldByName('Cod_Cliente').Value;

PD: Pasa algo con los Tag de codigo Delphi? Me salen caracteres en blanco en el post que no se ven en la edicion del texto

alexglez1255 25-03-2015 06:01:07

Muchisisissisimas gracias la opcion ultima que me diste fue la correcta, ya no me da error, pero lo unico que tuve que cambiarle fue AsString, TU SUGERENCIA FUE :

logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').Value:=logicanegocio.CDSclieCOD.FieldByName ('Cod_Cliente').Value;

y la manera correcta era:

logicanegocio.cdsClien.Params.ParamByName('Cod_cliente').AsString:=logicanegocio.CDSclieCOD.FieldByN ame ('Cod_Cliente').Value;

MUCHAS GRACIAS

Neftali [Germán.Estévez] 25-03-2015 10:38:07

Por favor, utiliza TAG's cuando escribas código Delphi.



La franja horaria es GMT +2. Ahora son las 23:03:00.

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