Retorno Valores desde una consulta SQL

Tengo una consulta SQL ya le pase los parámetros, pero los valores de la consulta quisiera saber como los asigno a las etiquetas que tengo definidas en el form para mostrarlas. Utilice la clausula INTO; la cual compila bien pero al ejecutar genera un error de sintaxis.
Es como si no reconociera la clausula INTO.
with dm.QCliente.sql do
begin
dm.Qcliente.SQL.Add('select Clientes.DIRECCIO, Clientes.CONTACTO, Clientes.TELEFON1, Ciudad.NOM_CIUD, Ciudad.DEPARTAMENTO, Ciudad.PAIS');
dm.QCliente.SQL.Add('INTO :edit1.text, :edit3.txt, :edit2.txt, :edit4.txt, :edit5.txt, :edit6.txt' );
dm.QCliente.SQL.Add('from CLIENTES clientes, CIUDAD Ciudad ');
dm.QCliente.Params.CreateParam(ftInteger,'nCodigo',ptInput);
dm.QCliente.ParamByName('nCodigo').value := StrToInt(Edit7.Text);
dm.QCliente.SQL.Add('WHERE cod_clie=:nCodigo ');
dm.QCliente.SQL.Add(' AND Clientes.COD_CIUD = Ciudad.COD_CIUD ' );
dm.Qcliente.open;
end;
try
if dm.Qcliente.isempty then
showmessage('Cliente no Encontrado');
except
showmessage('Error en consulta');
end;

1 respuesta

Respuesta
1
La forma correcta de hacerlo en delphi es como te pongo a continación. En delphi no existe la sentencia into utilizando BDE o ADO.
with dm.QCliente.sql do
begin
dm.Qcliente.SQL.Add('select Clientes.DIRECCIO, Clientes.CONTACTO, Clientes.TELEFON1, Ciudad.NOM_CIUD, Ciudad.DEPARTAMENTO, Ciudad.PAIS');
dm.QCliente.SQL.Add('from CLIENTES clientes, CIUDAD Ciudad ');
dm.QCliente.SQL.Add('WHERE cod_clie=:nCodigo ');
dm.QCliente.SQL.Add(' AND Clientes.COD_CIUD = Ciudad.COD_CIUD ' );
dm.QCliente.ParamByName('nCodigo').value := StrToInt(Edit7.Text);
dm.Qcliente.open;
end;
try
if dm.Qcliente.isempty then
showmessage('Cliente no Encontrado')
else
begin
// Suponiendo que el textbox de direccion tiene de nombre edDireccion
edDireccion.Text := dm.Qcliente.Fieldbyname('direccio').asstring;
// suponiendo que el texbox de contacto es edContacto
edContacto.Text := dm.Qcliente.Fiedlbyname('contacto').asstring;
//.....
// asi para cada campo de la consulta
end;
except
showmessage('Error en consulta');
end;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas