Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Buscando una cadena dentro de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=68532)

carlos v.p.l. 19-06-2010 03:55:59

Disculpa ese resultado (que es 1) que me de vuelve el Edit3 que me indica ?
que lo ha encontrado y 0 que no?
o es el indice? y de nuevo grax es ke siempre me regresa 1 , cuando ingreso un nombre que si esta y 1 = si no esta

Caral 19-06-2010 04:01:41

Hola
Es una excelente pregunta: Que es el 1??.
En la tabla tienes algun numero 1 por ahi perdido?, por que le codigo tiene que regresar el nombre en el edit.
Saludos

carlos v.p.l. 19-06-2010 04:31:16

rTenia un error a la hroa de sustituir tu codigo solo cambie 2 lineas no las 3 perdon:
El siguiente codigo no me marca error pero siempre me regresa 1:
Código Delphi [-]
 procedure TForm5.Button1Click(Sender: TObject);
begin
   DataModule2.cliente.Close;
   IBDataSet1.SelectSQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);
   DataModule2.cliente.Open;
   Edit3.text:= DataModule2.cliente.fields[0].AsString;
end;
supongo que 1 es mi primer indice
el siguiente codigo me no me marca error de compilacion pero me marcar un error a la hora de buscar que es este"ListIndex of bounds(0)":
Código Delphi [-]
 procedure TForm5.Button1Click(Sender: TObject);
begin
   DataModule2.cliente.Close;
   IBDataSet1.SelectSQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);
   DataModule2.cliente.Open;
   Edit3.text:= IBDataSet1.fields[0].AsString;
end;

en tu caso 1 tienes la sguiente linea:
Código Delphi [-]
DataModule2.cliente.SQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);
esa no me la acepta y ya pues el caso 2 que me pusiste pues ese si me marca el error:
SQL error code=-104
Token unknown -line 1,char 24 '. (la ' no es error de dedo xD)

ia no se ke hacer xD ,muchas grax por la ayuda,si no tas algun error te agradeceria que me siguieras ayudando(ya te hice trabajar mucho muchas grax)

Caral 19-06-2010 04:38:16

Hola
Intenta esto:
Código Delphi [-]
 procedure TForm5.Button1Click(Sender: TObject);
begin
   DataModule2.cliente.Close;
   IBDataSet1.SelectSQL.Text:='select nombre from cliente where nombre like'+Edit2.Text;
   DataModule2.cliente.Open;
   Edit3.text:= DataModule2.cliente.fields[0].AsString;
end;
Revisa bien en la tabla, que el campo nombre contenga el dato.
Saludos

Caral 19-06-2010 04:50:23

Hola
Creo que he entendido mal desde el principio.
Lo que tienes es un IBTable, no un IBQuery.
El codigo es para un IBQuey.
Si quieres usar un table se hace un filtro:
Código Delphi [-]
 procedure TForm5.Button1Click(Sender: TObject);
var
   Filtro : String;
begin
   If (Edit2.Text <> '') then
   begin
      DataModule2.cliente.Filtered := False;
      Filtro := 'Nombre Like '''+ Edit2.Text + '*'''
      DataModule2.cliente.Filter := Filtro;
      DataModule2.cliente.Filtered := True
      Edit3.text:= DataModule2.cliente.fields[0].AsString;
end;
end;
Saludos

carlos v.p.l. 19-06-2010 04:52:44

MMM no pues no estoy seguro que debo tener otro error por ahi me dedicare a buscarlo , muchas grax por todo tu tiempo

carlos v.p.l. 19-06-2010 18:38:13

mm pues no encontre el error pero ya hoy con mas calma se me ocurrio hacerlo de otra forma y ya quedo muchas grax por su tiempo saludos.

AntonioTB 20-06-2010 10:28:12

Cita:

Empezado por carlos v.p.l. (Mensaje 367734)
rTenia un error a la hroa de sustituir tu codigo solo cambie 2 lineas no las 3 perdon:
El siguiente codigo no me marca error pero siempre me regresa 1:

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
begin
DataModule2.cliente.Close;
IBDataSet1.SelectSQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);
DataModule2.cliente.Open;
Edit3.text:= DataModule2.cliente.fields[0].AsString;
end;





supongo que 1 es mi primer indice
el siguiente codigo me no me marca error de compilacion pero me marcar un error a la hora de buscar que es este"ListIndex of bounds(0)":

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
begin
DataModule2.cliente.Close;
IBDataSet1.SelectSQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);
DataModule2.cliente.Open;
Edit3.text:= IBDataSet1.fields[0].AsString;
end;





en tu caso 1 tienes la sguiente linea:

Código Delphi [-]DataModule2.cliente.SQL.Text:='select nombre from cliente where nombre like'+quotedstr(Edit2.Text);


esa no me la acepta y ya pues el caso 2 que me pusiste pues ese si me marca el error:
SQL error code=-104
Token unknown -line 1,char 24 '. (la ' no es error de dedo xD)

ia no se ke hacer xD ,muchas grax por la ayuda,si no tas algun error te agradeceria que me siguieras ayudando(ya te hice trabajar mucho muchas grax)

Por el mensaje de rror que dices que tienes, prueba a escribir un espacio despues de 'like' en la sentencia sql, posiblemente ese sea el problema que te da el error.

mematanlimon 24-06-2010 16:07:51

buenas, les hago una consulta sobre los filtro, como se aplica un filtro con 2 condiciones, es decir....
una tabla donde haya por ejemplo

select VENTAS where CLIENTE like FILTRO1 like FILTRO2

este es un ejemplo porque en realidad no se como se hace para poder poner en un query esta doble condicion,

gracias

Casimiro Notevi 24-06-2010 16:24:55

Por favor, inicia siempre un tema nuevo cuando quieras hacer preguntas que no tengan que ver con el tema tratado en el hilo, gracias.


Código:

select campos
from tuTabla
where CLIENTE like FILTRO1
and    CIUDAD = FILTRO2
and    SUELDO > FILTRO3

etc...



La franja horaria es GMT +2. Ahora son las 12:30:06.

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