Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Hola ramphi, como te dice Roman desde Access si funciona con * pero desde delphi tienes que hacerlo con %, por lo que veo tu error estaba en el campo que le pasas como parametro ya que no tiene que ser con comillas.

Cita:
Empezado por ramphi Ver Mensaje
consulta:= 'SELECt * FROM tesis WHERE ' + quotedstr(combobox1.text)+' LIKE '+ quotedstr('%'+edit1.Text+'%');
Tu consulta debería quedar así:

Código Delphi [-]
  consulta:= 'SELECt * FROM tesis WHERE '+combobox1.text+' LIKE '+QuotedStr('%'+edit1.Text+'%');
  datamodule2.ADOQuery1.Close;
  datamodule2.ADOQuery1.SQL.Clear;//No te olvides limpiar 
  datamodule2.ADOQuery1.SQL.Add(consulta);
  datamodule2.ADOQuery1.Open;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #2  
Antiguo 23-09-2008
Avatar de ramphi
ramphi ramphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santo Domingo, Rep. Dominicana
Posts: 42
Poder: 0
ramphi Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola ramphi, como te dice Roman desde Access si funciona con * pero desde delphi tienes que hacerlo con %, por lo que veo tu error estaba en el campo que le pasas como parametro ya que no tiene que ser con comillas.



Tu consulta debería quedar así:

Código Delphi [-] consulta:= 'SELECt * FROM tesis WHERE '+combobox1.text+' LIKE '+QuotedStr('%'+edit1.Text+'%'); datamodule2.ADOQuery1.Close; datamodule2.ADOQuery1.SQL.Clear;//No te olvides limpiar datamodule2.ADOQuery1.SQL.Add(consulta); datamodule2.ADOQuery1.Open;


Saluditos

pues corregi eso y me dice que hoy error en syntaxis

y cuando quito los dos quotedstr() me da error de "falta operador"

salu2
__________________
Novato en busqueda de Avance

Última edición por ramphi fecha: 23-09-2008 a las 15:20:40. Razón: error de escritura
Responder Con Cita
  #3  
Antiguo 23-09-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
y ahora llega el novato de access diciendo.... ¿no era con comillas dobles? usea:

Código SQL [-]
SELECT * FROM tesis WHERE campo LIKE "%MARIA%"


Código Delphi [-]
consulta:= 'SELECt * FROM tesis WHERE ' + quotedstr(combobox1.text)+' LIKE "%' + edit1.Text+'%"';

saluditos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 24-09-2008
Avatar de ramphi
ramphi ramphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santo Domingo, Rep. Dominicana
Posts: 42
Poder: 0
ramphi Va por buen camino
no me da error pero no pasa nada

Cita:
Empezado por Lepe Ver Mensaje
y ahora llega el novato de access diciendo.... ¿no era con comillas dobles? usea:

Código SQL [-]SELECT * FROM tesis WHERE campo LIKE "%MARIA%"



Código Delphi [-]consulta:= 'SELECt * FROM tesis WHERE ' + quotedstr(combobox1.text)+' LIKE "%' + edit1.Text+'%"';


saluditos.


bueno de esta forma no me da error pero no pasa nada, en la dbgird siguen los mismo datos y le agrego un refresh y nada, hay algo mas que agregar??


Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
VAR consulta: string;
begin consulta:= 'SELECt * FROM tesis WHERE '+quotedstr(combobox1.Text)+' LIKE "'+edit1.Text+'%"';
datamodule2.ADOQuery1.Close;
datamodule2.ADOQuery1.SQL.Clear;
datamodule2.ADOQuery1.SQL.Add(consulta);
datamodule2.ADOQuery1.Open;
dbgrid1.Refresh;
end;
__________________
Novato en busqueda de Avance
Responder Con Cita
  #5  
Antiguo 24-09-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Pues la verdad, deberías ver algún resultado o ver el grid vacio. Pregunta obligada: ¿seguro que el dbgrid está asociado al mismo adoquery? (un error tonto es muy común en estos casos)

en la base de datos, "maria" estará escrita en mayúsculas ¿verdad?, y sin tilde ¿siii?

para las mayúsculas puedes usar:
Código SQL [-]
select * from tabla where Upper(campo) like "%MARIA%"

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 24-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Hola, yo siempre lo hice comilla simple y me ha funcionado acabo de hacer la prueba con comilla doble y también funciona. A parte de lo que te dice el amigo Lepe debes quitar el QuotedStr de tu campo.

Código Delphi [-]
 consulta:= 'SELECt * FROM tesis WHERE '+quotedstr(combobox1.Text)+' LIKE "'+edit1.Text+'%"';

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 25-09-2008
Avatar de ramphi
ramphi ramphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santo Domingo, Rep. Dominicana
Posts: 42
Poder: 0
ramphi Va por buen camino
Thumbs up Resuelto

gracias ya pude resolver el problema, habia una mala conexion con el query y las comillas del campo,

salu2
__________________
Novato en busqueda de Avance
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 16:08:21.


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