Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Meter el resultado de un quey en una variable. (https://www.clubdelphi.com/foros/showthread.php?t=14823)

SaLvaGe 01-10-2004 10:36:01

Meter el resultado de un quey en una variable.
 
Buenos Dias haber si podeis decirme si hay forma de que el resultado de una consulta Query almacenarlo en alguna variable un edit lo que sea de forma que despues yo pueda conparar ese resultado con otro para poder hacer ciertas acciones dependiendo del usuario.
Es una duda que me lleva quitando el sueño ya varios dias :rolleyes:

Muchas Gracias. :)

Investment 01-10-2004 10:38:55

Código:

query1.Open;
Valor:= query1.fieldByName('ElCampoQueTeInterese').asString;
query1.Close;

if Valor = OtraVariable then  HazLoQueSea;


SaLvaGe 01-10-2004 11:12:56

este es mi codigo
 
//Cerramos y desactivamos la consulta.
Query_control_usuario.Active:=false;
Query_control_usuario.Close;

//Pasamos los parametros a la consulta.
Query_control_usuario.ParamByName('nu').AsString := Form2.Edit1.Text;

//Activamos y Abrimos la consulta.
Query_control_usuario.Active:=true;
Query_control_usuario.Open;

//Guardamos el resultado de la consulta en una variable ya declarada arriba.
resultado := query_control_usuario.FieldByName('TipoUsuario').AsString;

//Dependiendo del resultado que nos devuelva la consulta se haran distintas cosas.
If resultado='Administrador' then
gbadmin.Visible:=true
else
gbadmin.Visible:=false;
end;

Este es mi codigo y lo e echo como me as dicho pero no me lo esta haciendo no se si es porque no me esta devolviendo el valor de esa variable no lo se :rolleyes: .
Haber si me puedes echar una manilla.

Muchas gracias

Investment 01-10-2004 12:17:53

Código:

//Cerramos y desactivamos la consulta.
Query_control_usuario.Active:=false;
Query_control_usuario.Close;
//Pasamos los parametros a la consulta.
Query_control_usuario.ParamByName('nu').AsString := Form2.Edit1.Text;
//Activamos y Abrimos la consulta.
Query_control_usuario.Active:=true;
Query_control_usuario.Open;
//Guardamos el resultado de la consulta en una variable ya declarada arriba.
resultado := query_control_usuario.FieldByName('TipoUsuario').AsString;
//Dependiendo del resultado que nos devuelva la consulta se haran distintas cosas.
If resultado='Administrador' then
  gbadmin.Visible:=true
else
  gbadmin.Visible:=false;
end;

Para controlar si te devuelve algun valor tu query deberias hacer lo siguiente antes del if:
Código:


  if Query_control_usuario.EOF then
    ShowMessage('La consulta no ha devuelto nada')
  else
    ShowMessage('La consulta ha devuelto: ' + resultado  )


Investment 01-10-2004 12:23:35

Por cierto, no se pq pones la query como active = true y luego la haces un open. Una de las dos cosas te sobra:

Código:

  //Cerramos y desactivamos la consulta.
  Query_control_usuario.Close;

  //Pasamos los parametros a la consulta.
  Query_control_usuario.ParamByName('nu').AsString := Form2.Edit1.Text;

  //Activamos y Abrimos la consulta.
  Query_control_usuario.Open;

  //Guardamos el resultado de la consulta en una variable ya declarada arriba.
  resultado := query_control_usuario.FieldByName('TipoUsuario').AsString;

  if Query_control_usuario.EOF then
    ShowMessage('La consulta no ha devuelto nada')
  else
    ShowMessage('La consulta ha devuelto: ' + resultado  )  ;

  //Dependiendo del resultado que nos devuelva la consulta se haran distintas cosas.
  If resultado='Administrador' then
    gbadmin.Visible:=true
  else
    gbadmin.Visible:=false;
  end;


Investment 01-10-2004 12:53:38

Tambien puede ser un problema de mayusculas y minusculas... o de espacios. Puedes asegurla con lo siguiente:

Código:

  If Trim(Uppercase(resultado))='ADMINISTRADOR' then
    gbadmin.Visible:=true
  else
    gbadmin.Visible:=false;
  end;


raffagia 01-10-2004 23:01:18

con un dbedit???
 
Hola,
yo tengo el mismo drama,,,,
lo ke hago es, poner un DBEDIT no visible, y poner el datasource del dbedit enganchado con el source de la query,, o sea ke levante en ele dbedit lo ke devuelve la quuery,,,
despues con un DBEDIT.TEXT recupero el contenido,,,
es algo chancho, pero anda,,,

espero ke sirva,,,
saludos

RAffa

SaLvaGe 04-10-2004 09:01:08

:) Muchas Gracias investiment ya todo va a las mil maravillas.

Muchas gracias.


La franja horaria es GMT +2. Ahora son las 03:44:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi