Delphi - SQL like

 
Vista:

SQL like

Publicado por Carlos (6 intervenciones) el 19/03/2005 13:58:31
Hola amigos de la web, tengo una duda, estoy utilizando el siguiente codigo en Delphi 6
Query1.SQL.Clear;
Query1.SQL.Add('select * from Concentrado where Nombre LIKE '+QuotedStr('%'+Edit1.Text+'%'));
Query1.Active:=True;

esto dentro de un boton, pero deseo que el resultado de esa busqueda seleccione o muestre el campo o campos dentro de un dbgrid como logro hacer eso, que es lo que le falta a mi codigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SQL like

Publicado por BigLuis (713 intervenciones) el 19/03/2005 14:02:29
Lo unico que le fatla es enlazar al TQuery un TDataSource y este a la regilla y ya está.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL like

Publicado por Carlos (6 intervenciones) el 19/03/2005 15:57:34
Pues tengo my TQuery enlazado al TDataSource, pero al realizar la busqueda por medio de un edit, no me posiciona en el dato o datos que estoy buscando, lo que mas o menos quiero hacer es un filtro de los datos que aparezcan en el DbGrid pero necesito hacerlo con la sentencia like de SQL porque busco por nombre, apellidos o login de la persona, el nombre es completo no manejo campos separados, y lo que deseo que haga es que me encuentre coincidencias con lo que el usuario escribio, ya intente con el FindNearest de la tabla, pero no me resulto igual de efectivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL like

Publicado por BigLuis (1 intervención) el 20/03/2005 11:08:06
Prueba esto:
Lo que buscas escribelo en un TEdit
var
Quebusco:String;
begin
Query1.SQL.Clear;
Query1.SQL.Add('select * from Concentrado where Nombre LIKE (:Quien)');
Quebusco:='%'+Edit1.Text+'%';
Query1.Parambyname('Quien').asstring:=Quebusco;
Query1.Active:=True;
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL like

Publicado por Elena (330 intervenciones) el 21/03/2005 12:47:35
Tu código debes ponerlo en el OnChange del edit para que vaya reflejándose simultáneamente en el grid.
Ojo con esto, ya que si la tabla tiene muchos registros puedes ocasionar lentitud de tu softare.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL like

Publicado por MaSSaKKre (1 intervención) el 08/09/2005 20:02:02
Amigo, creo que nadie entendio realmente lo que querias decir, o al menos quizas yo entendi diferente.

QUERY8.CLOSE; //abres el query que uses, yo estoy por el 8 en este momento
QUERY8.Params[0].aSSTRING := EDIT1.Text; //nos inidca que va a buscar los
//registros que tengan como filtro o parametro de búsqueda lo escrito en el
//edit1.tex
QUERY8.OPEN; //hace la busqueda
DATASOURCE1.DataSet := QUERY8; //enlazo el query al datasource
DBGRID1.DataSource := DATASOURCE1; //enlazo el datasource al dbgrid
DBGRID1.Columns[0].FieldName := 'Num_conductor'; //asigno los valores de
//mi tabla específicamente a una columna de mi dbgrid
DBGRID1.Columns[1].FieldName := 'Licencia';
DBGRID1.Columns[2].FieldName := 'Tipo';
DBGRID1.Columns[3].FieldName := 'Nombre';
DBGRID1.Columns[4].FieldName := 'Ape_pat';
DBGRID1.Columns[5].FieldName := 'Ape_mat';
DBGRID1.Columns[6].FieldName := 'TELEFONO';
DBGRID1.Columns[7].FieldName := 'Direccion';

el codigo que utilizo en la consulta es:

SELECT * FROM "CONDUCTOR.DB" WHERE APE_MAT=:MATERNO
donde materno es el PARAMETRO DE BUSQUEDA y se hace referencia a este desde esta linea...

QUERY8.Params[0].aSSTRING := EDIT1.Text

espero que ye haya servido lo que te envié.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL like

Publicado por El Pelotas (5 intervenciones) el 10/09/2005 17:45:34
Puedes utilizar CONTAINING para encontrar coincidencias

SELECT * FROM TABLA WHERE NOMBRE CONTAINING :param1 OR
NOMBRE LIKE :param1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar