Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como sacar datos de una query (https://www.clubdelphi.com/foros/showthread.php?t=38200)

todook 06-12-2006 15:45:28

como sacar datos de una query
 
hola...voy a tratar de ser lo mas claro posible.Asi como se le pasa un query parametros o variables (digamos ingreso variables a la query )...yo digo como hago para que me de una variable resultado de una busqueda. Se entiende mi pregunta?...por ej...si yo quiero sacar un campo de una tabla o dos con ciertas restricciones..que en vez de usar el while con el qry.first y el next y todo eso, usar un select que me devuelva el campo que yo quiero y que se lo mande a la variable y listo...se que es ovbio hacer esto porque sino para que usaria sql no?..pero nose como asignarle ese resultado a la variable....nose si me explique muy bien trate de ser lo mas claro posible...si alguien me entiende...y me da una mano joya..gracias y saludos!!!

poliburro 06-12-2006 16:27:33

Despúes de ejecutar tu la consulta que devuelve los datos

Variable := Query.Fields[IndicedelCampo].AsString

ó

Variable := Query.FieldByName['NombreDelCampo'].AsString

yusnerqui 06-12-2006 16:51:03

No se si te entendi bien o no, te voy a comentar algunas cosas que puedes hacer con el query:

Si tengo una tabla llamada persona con los campos: NOmbre, Edad, Sexo y quiero saber los nombres de las mujeres pues el sql que usaría sería:

Código Delphi [-]
MyQuery.text='Select Nombre From Persona Where Sexo  = F';
MyQuery.Open;

Esto me puede dar N resultados en dependencia de la cantidad e mujeres que tenga mi tabla, para leer los resultados efectivamente tengo que hacer uso de un siclo por la Query e ir tomando la propiedad FieldByName('Nombre del campo').Tipo.

En este caso podría ser algo como:

Código Delphi [-]
Var  Mujeres:String;
begin
 MyQuery.First;
 while not MyQuery.EOF do
 begin
  Mujeres:=Mujeres+MyQuery.FieldByName('Nombre').AsString+ ';  ';
  MyQuery.next;
 end;
end;
Esto te almacenará en la variable mujeres todos los nombres obtenidos.

Ahora depende de ti decir si era esto lo que buscabas o no, ya te explicaras mejor.

Saludos Yusnerqui

todook 06-12-2006 17:53:47

Gracias por las dos respuestas en realidad lo que yo queria hacer es esto:

Código:

qrypais.Close;
qrypais.SQL.Clear;
qrypais.SQL.Add('SELECT UD_PAIS FROM PAIS WHERE NOMBRE_PAIS=:VALOR1')
qrypais.ParamByName('valor1').AsString:=nombrepais;
udpais:=qrypais.FieldByName('ud_pais').Value;
qrypais.Open;
qryprov.SQL.Clear;
qryprov.SQL.Add('UPDATE PROVINCIA SET NOMBRE_provincia=:VALOR3,ID_PAIS=:VALOR2 WHERE NOMBRE_provincia =:VALOR1 AND iD_PAIS=:VALOR2');
Qryprov.ParamByName('VALOR1').AsString :=edit1.Text;
qryprov.ParamByName('VALOR2').Value:=udpais;
Qryprov.ParamByName('VALOR3').AsString:=edtnome2.text;
qryprov.ExecSQL;

osea no queria usar un query.first next y todo eso...sino buscarlo con una query y el resultado asignarlo a una variable para luego buscar con esa variable en otra query..
gracias por las respuestas!!!!


La franja horaria es GMT +2. Ahora son las 10:31:58.

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