Delphi - Busqueda con parametros

   
Vista:

Busqueda con parametros

Publicado por Eddy (4 intervenciones) el 26/02/2010 03:58:59
Como puedo hacer que esto funcione? lo que trato de hacer, es una busqueda con select y seleccionar un registro especifico y luego montar los campos seleccionados en los dintintos Edit.Text. Mirando en el watch list, el parametros "Buscar" nunca recibe el valor asignado del Edit6.Text.

Este es el codigo:

procedure TForm1.Button2Click(Sender: TObject);

begin
With Query1 do
begin
if Edit6.Text = '' then
MessageDlg('Ingrese dato en el campo.',mtError, [mbOK], 0)
else
Active := False;
Sql.Clear;
Sql.Add('select CustNo,Company,Addr1,Addr2');
Sql.Add('From customer');
Sql.Add('where CustNo =: Buscar');
Query1.Params.CreateParam(ftstring,'Buscar',ptInput);
Query1.ParamByName('Buscar').AsString := Edit6.Text;

Active := True;
Edit2.Text := Query1.FieldByName('CustNo').AsString;
Edit3.Text := Query1.FieldByName('Company').AsString;
Edit4.Text := Query1.FieldByName('Addr1').AsString;
Edit5.Text := Query1.FieldByName('Addr2').AsString;
end;
end;
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:Busqueda con parametros

Publicado por E.T. (1105 intervenciones) el 26/02/2010 17:05:41
Puede ser que el problema se deba a que en esta linea
Sql.Add('where CustNo =: Buscar');
el parámetro está separado por un espacio entre los dos puntos
Sql.Add('where CustNo = :Buscar');
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:Busqueda con parametros

Publicado por ED (4 intervenciones) el 27/02/2010 01:46:34
Ese no es el caso Sql.Add('where CustNo = :Buscar');
lo que me dices es que no esta identificado.
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:Busqueda con parametros

Publicado por martin (43 intervenciones) el 27/02/2010 02:21:13
ANte la duda yo concateno tod y listo, quedaria asi:

Sql.Add('where CustNo ='+edit6.text+';');

y listo, si haces un showmessage(sql.text); te va a mostar com quedo el query armado
y si custno es de tipo cadena quedaria asi:

Sql.Add('where CustNo ='''+edit6.text+''';');

con las doble comillas simples estas insertando comillas simples .-)

con esto pasas el parametro sin problemas.

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:Busqueda con parametros

Publicado por ED (4 intervenciones) el 02/03/2010 03:45:24
Efectivo, gracias.

Como hago para que el puntero se mueva al registro de busqueda en un DBGrid?
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