Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2012
leandro_matiasp leandro_matiasp is offline
Registrado
 
Registrado: abr 2008
Posts: 9
Poder: 0
leandro_matiasp cantidad desconocida en este momento
Angry Error EDatabase Error

Hola a todos gracias por ayudarme con el error anterior pero ahora tengo otro que me desaliente mucho mas aun, el caso es que tengo implementada la misma consulta en otro sistema y anda perfecto. Les comento que tengo un componente TMyQuery conectado con el MydbConection. Es una consulta sencilla en SQL se las paso

Código SQL [-]
SELECT * FROM cliente WHERE nombre LIKE : pnombre
(el espacio entre ":" y "pnombre" es por que me salia esto por eso)

la consulta esta en la propiedad SQL del componente

el codigo que ejecuta la consulta es el siguiente

Código Delphi [-]
procedure Tform_buscarcliente.ed_nombreChange(Sender: TObject);
var nombre :string;
begin
with modulo_db.consulta_cliente do
begin
      Active:=False;
      nombre:=ed_nombre.Text+'%';
      ParamByName('pnombre').Value:=nombre;
      Active:=True;
      grilla_clientes.DataSource:=fuente_clientes;
      grilla_clientes.DataSource.DataSet.Refresh;

end;

el error me da en tiempo de ejecución donde me dice que el el parametro pnombre no se encontro "Class EDatabase Error parameter pnombre not found" me esta volviendo loco como puede ser que no le pase el parametro si esta ahi, ya se me murio la ultima neurona que tenia tratando de saber por que; intente otras consultas y si anda pero esta en particular no. Si alguien me puede ayudar a resolverlo se lo agradeceria.
Responder Con Cita
  #2  
Antiguo 24-01-2012
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Hola

por que no pruebas con esto

Código SQL [-]
SELECT * FROM cliente WHERE nombre Like'+QuotedStr('%'+pnombre+'%')

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 27-01-2012
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Intenta agregando "Params" delante.
Es decir :
Código Delphi [-]
Params.ParamByName('pnombre').Value:=nombre;
Otra alternativa seria :
Código Delphi [-]
Params[0].Value:=nombre;
Donde 0, es el 1er parametro en la sentencia SQL.
Asi es como los uso.
Saludos.

Última edición por juanlaplata fecha: 27-01-2012 a las 14:24:14.
Responder Con Cita
  #4  
Antiguo 27-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Leandro.

Creo que el problema se te presenta al no componer la consulta para cada cambio del TEdit, yo haría de este modo:
Código Delphi [-]
procedure Tform_buscarcliente.ed_nombreChange(Sender: TObject);
begin
  with modulo_db.consulta_cliente do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM CLIENTE WHERE NOMBRE LIKE :PNOMBRE');
    ParamByName('PNOMBRE').AsString:= ed_nombre.Text + '%';
    Open;
    ...
  end;
end;


Cita:
(el espacio entre ":" y "pnombre" es por que me salia esto por eso)
Para evitar las 'caritas' usa las etiquetas [noparse] [/noparse], en el caso anterior sería: 'SELECT * FROM CLIENTE WHERE NAME LIKE [noparse]:P[/noparse]NOMBRE'

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-01-2012 a las 01:58:57.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Por qué sale el [Fatal Error]Internal Error:LA30?? Lizette Varios 13 14-01-2016 13:44:35
error en la prueba de conexion al inicializar al proveedor. error de autenticacion ygeraldino Conexión con bases de datos 12 20-06-2011 23:51:18
Error General Sql Error lock conflict ...deadlock Patricio Varios 1 19-03-2008 14:52:14
error:[Fatal Error] Unit1.pas(7): Unit ZDbcConnection was compiled with a different.. karaoke Conexión con bases de datos 2 19-12-2007 10:22:36
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 17:30:28


La franja horaria es GMT +2. Ahora son las 01:32:15.


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
Copyright 1996-2007 Club Delphi