Ver Mensaje Individual
  #1  
Antiguo 07-09-2003
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Reputación: 21
IcebergDelphi Va por buen camino
Por que no me funciona esta consulta SQL en mi programa?

Hola amigos del foro , estoy haciendo un simple programa de consulta de clientes, y lo estoy haciendo en Firebird, lo que pasa que como son miles de clientes, tengo que hacer un filtro con sql solo mostrandolos por su Numero de alta o por su Nombre.
En Mi formulario tengo dos campos Tedit, uno se llama:
EdtBuscar y Edt Buscar2, el primero buscara el Numero de alta del cliente y el segundo en nombre, el codigo va asi:

procedure TForm1.Button1Click(Sender: TObject);
Var
Buscar,Con1:String;
Function Condiciona(Entrada:String):String;
Var
Temporal:String;
Begin
Temporal:='';
If (Length(Entrada)>0) Then
Temporal:='Or ';
Condiciona:=Temporal;
End;
begin
Buscar:='Select * From "Clientes" Cli ' ;
If Length( EdtBuscar.Text)>0 Then
Con1:='Cli."NoCliente" ='+ EdtBuscar.Text+''
Else
Con1:='';
If Length( EdtBuscar2.Text)>0 Then
Con1:=Con1+ Condiciona(Con1)+'Upper(Cli."Nombre") Like '+'%'+ UpperCase(EdtBuscar2.Text)+'%';
If Length(Con1)>0 Then
Buscar:=Buscar +' Where '+Con1;
TClientes.Close;
TClientes.SQLs.SelectSQL.Clear;
TClientes.SQLs.SelectSQL.Add(Buscar);
TClientes.Prepare;
TClientes.GenerateSQLs;
TClientes.Open;

end;

El Campo de la Bd NoCliente es Numerico, y si hago una consulta escribiendo sobre el TEdit Llamado EdtBuscar la consulta se realiza perfectamente, pero cuando quiero hacer la consulta por Nombre , escribiendo un Nombre o letra en el Tedit llamado edtBuscar2 me sale errores que si el % no lo conoce, que si el campo ( El dato que se escribio dentro del EdtBuscar2) es una columna desconocida ect. cabe recordar que el campo nombre es varchar en mi base de datos.

Me podrian ayudar a desifrar que esta pasando o cual es mi error en la instruccion sql.

Sera que no puede evaluar los campos de tipo Varchar?

Gracias.
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita