Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   asignar resultado de consulta a un edit!! (https://www.clubdelphi.com/foros/showthread.php?t=74315)

ezequiel913 11-06-2011 04:37:42

asignar resultado de consulta a un edit!!
 
hola gente!!!

bueno como dice el titulo queria saber como asignar el resultado de una consulta SQL a un EDIT, ahora por que quiero hacer eso?? sencillo, tengo una aplicacion que da de ALTA a Proveedores, entre sus atributos estan el Codigo Postal y Localidad, entonces cuando el usuario ingresa el Codigo Postal automaticamente en el edit de la Localidad tiene que aparecer el nombre de la Localidad que esta asociado a ese Codigo Postal. se entiende??

bueno mucha gracias!!!
saludos!!!

Casimiro Notevi 11-06-2011 11:10:17

¿Pero cómo lo haces ahora?, pon el código que usas, para asi orientarte mejor, ya que hay varias formas o se puede interpretar de distintas maneras tu pregunta.

ecfisa 11-06-2011 11:11:38

Hola ezequiel913

Cita:

queria saber como asignar el resultado de una consulta SQL a un EDIT
Si ingresas el código postal desde otro Edit, podes asignar el resultado de una consulta al salir de él por ejemplo:
Código Delphi [-]
procedure TForm1.edCodPostalExit(Sender: TObject);
begin
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT CodigoPostal,Localidad FROM LOCALIDADES');
  Query1.SQL.Add('WHERE NAME = :CP');
  Query1.ParamByName('CP').AsString:= edCodPostal.Text;
  Query1.Open;
  edLocalidad.Text:= Query.FieldByName('Localidad').AsString;
end;
Pero no sé si es eso lo que estás buscando...

Edito: No ví el post de Casimiro, pero tiene toda la razón. La consulta es de respuesta abierta.

Saludos.

ezequiel913 11-06-2011 14:25:22

Cita:

Empezado por Casimiro Notevi (Mensaje 403379)
¿Pero cómo lo haces ahora?, pon el código que usas, para asi orientarte mejor, ya que hay varias formas o se puede interpretar de distintas maneras tu pregunta.


Hola Casimiro Notevi!!!

No lo hice de ninguna manera, queria saber como hacerlo, se me habian ocurrido algunas ideas con el compònente Query las probe pero no me salieron, entonces no lo puse aca.

yo tenia pensado guardar el resultado de la consulta en una variable de tipo String y despues esa variable asignarsela al Edit, pero no me ha salido, el problema no esta en como realizar la consulta SQL sino como "guardar" el resultado de esa consulta.

Saludos!!!

Casimiro Notevi 11-06-2011 14:27:58

Pues la solución que te ha dado ecfisa es perfecta.

ezequiel913 11-06-2011 14:36:22

Cita:

Empezado por ecfisa (Mensaje 403380)
Hola ezequiel913


Si ingresas el código postal desde otro Edit, podes asignar el resultado de una consulta al salir de él por ejemplo:
Código Delphi [-]procedure TForm1.edCodPostalExit(Sender: TObject); begin Query1.SQL.Clear; Query1.SQL.Add('SELECT CodigoPostal,Localidad FROM LOCALIDADES'); Query1.SQL.Add('WHERE NAME = :CP'); Query1.ParamByName('CP').AsString:= edCodPostal.Text; Query1.Open; edLocalidad.Text:= Query.FieldByName('Localidad').AsString; end;

Pero no sé si es eso lo que estás buscando...

Edito: No ví el post de Casimiro, pero tiene toda la razón. La consulta es de respuesta abierta.

Saludos.


Hola Ecfisa!!!

bueno ante todo gracias por la repuesta.

queria saber que funcion cumple el atributo NAME?? por que tengo que buscar la localidad que esta asociada al Codigo Postal que paso como parametro desde el edit.

Habia hecho un intento con el Evento OnExit del edit, pero no me salio, cuando queria salir del edit pinchaba todo.

Saludos!!!

ecfisa 11-06-2011 15:18:47

Hola Ezequiel.

No no es ningún atributo, hice un ejemplo de memoria nomás y confundí el nombre de los campos, mil disculpas.:o

Con los nombres de campos que pusiste sería:
Código Delphi [-]
...
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT CodigoPostal,Localidad FROM LOCALIDADES');
  Query1.SQL.Add('WHERE CodigoPostal = :CP');
  Query1.ParamByName('CP').AsString:= edCodPostal.Text;
  Query1.Open;
  edLocalidad.Text:= Query.FieldByName('Localidad').AsString;
...
De todos modos para evitar confusiones los nombres de campo que utilizo para el ejemplo son:
CodigoPostal: (campo que almacena el código postal) y Localidad: (campo que almacena el nombre de localidad)

Saludos.


La franja horaria es GMT +2. Ahora son las 07:19:34.

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