Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2010
lucas05 lucas05 is offline
Miembro
 
Registrado: ago 2010
Posts: 116
Poder: 14
lucas05 Va por buen camino
busqueda incremental

Hola, estoy realizando una búsqueda en forma incremental en Delphi 7 y MySQL.
Estoy usando 1Edit, 1DBGrid, 1DataSource, 1ADOQuery.
En el ADOQuery coloco la siquiente sentencia sql:
select * from empleados order by apellido asc
Para que en el DBGrid aparesca la información de la tabla de empleados ordenada por apellido en forma ascendente.

Para realizar la búsqueda en forma incremental pongo el siguiente código en el evento OnChange del Edit.

With ADOQuery 1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from empleados where apellido like'+Char(39)+Edit1.Text+'%'+Char(39));
Open;
end;

Cuando realizo la búsqueda la primera vez no hay problema, pero cuando quiero realizar una nueva busqueda y borro el apellido que habia puesto en el Edit, la información que estaba en el DBGrid ordenada en forma ascendente aparece desordenada (recuerden que en ADOQuery le habia puesto una sentecia sql para ordenarla en forma ascendete).
Como debo hacer para que la infomación que muestro en el DBGrid se mantenga siempre ordenada en forma ascendente por apellido, a un cuando realice una busqueda incremental?

Espero haber sido claro y muchas gracias por su atención.
Responder Con Cita
  #2  
Antiguo 21-08-2010
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 Lucas.

Reemplazá la consulta por:
Código Delphi [-]
  with ADOQuery1 do
  begin
    Close;
    SQL.Text:='SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text + '%');
    Open;
  end;

Saludos.
Responder Con Cita
  #3  
Antiguo 21-08-2010
luisdevis luisdevis is offline
Miembro
 
Registrado: mar 2004
Posts: 32
Poder: 0
luisdevis Va por buen camino
Has eliminado el order by...

Piensa que has modificado el query del objeto sin un order by.
Al modificar el edit tiene la sentencia sql :
SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text + '%');
Que no tiene ningún "order by"

Cámbiala por esto :
SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text + '% ORDER BY APELLIDO ASC');
Responder Con Cita
  #4  
Antiguo 22-08-2010
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
Cita:
Empezado por luisdevis Ver Mensaje
Piensa que has modificado el query del objeto sin un order by.
Al modificar el edit tiene la sentencia sql :
SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text + '%');
Que no tiene ningún "order by"

Cámbiala por esto :
SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text + '% ORDER BY APELLIDO ASC');
Amigo... tenés toda la razón.
Responder Con Cita
  #5  
Antiguo 22-08-2010
lucas05 lucas05 is offline
Miembro
 
Registrado: ago 2010
Posts: 116
Poder: 14
lucas05 Va por buen camino
Ok, gracias voy a intentarlo.

Saludos.
Responder Con Cita
  #6  
Antiguo 22-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
mmmmmm

Código SQL [-]
SELECT * FROM EMPLEADOS WHERE APELLIDO LIKE '+QuotedStr(Edit1.Text)+ '% ORDER BY APELLIDO ASC;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 22-08-2010
lucas05 lucas05 is offline
Miembro
 
Registrado: ago 2010
Posts: 116
Poder: 14
lucas05 Va por buen camino
Hola, intente poniendo el nuevo código, y al compilarlo noy problema.
Pero cuando escribo algún apellido en el Edit para realizar la búsqueda, se borra toda la información que habia en el DBGrid y no muestra nada.
Cual puede ser el problema?

Nuevamente gracias y saludos.
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
Busqueda incremental con ComboBox Lenny Varios 2 18-05-2010 01:02:34
busqueda incremental con mysql schaka SQL 2 09-02-2008 04:56:06
Incremental en red jgmarduel Conexión con bases de datos 3 19-12-2005 15:52:36
Consulta Busqueda Incremental Gustavo Gowdak SQL 1 13-12-2004 09:27:08
busqueda incremental con ado slat Conexión con bases de datos 1 11-07-2004 18:32:52


La franja horaria es GMT +2. Ahora son las 20:34:42.


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