Delphi - Guardar y verificar un usuario

   
Vista:

Guardar y verificar un usuario

Publicado por Sofia_Medina (33 intervenciones) el 08/07/2016 21:31:37
Hola buenas tardes estoy trabajando con una aplicacion de un login en delphi 2010 usando los componentes query de zeos. Lo que quiero basicamente es cuando haga un login verificar luego el id del usuario y guardarlo en una variable para llevarlo a otro form. Dejo el codigo que trabaje. El prolema es como escribi el codigo no me guarda el id del usuario en la variable que cree


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TfLogin.bAceptarClick(Sender: TObject);
var
idcuenta: integer;
begin
fModulo.qCuentas.close;
fModulo.qCuentas.ParamByName('usuario').Value:= eUsuario.Text;
fModulo.qCuentas.ParamByName('contrasenia').Value:= eContrasenia.Text;
idcuenta:= fmodulo.qCuentas.ParamByName('idcuenta'); // en esta linea me tira error
fModulo.qCuentas.Open;
 if fmodulo.qCuentas.IsEmpty then
 begin
     Application.MessageBox('No se pudo establecer la conexion. Revise usuario o contraseña','Drugstore',MB_ICONERROR+MB_OK) ;
     fLogin.ModalResult :=   mrNone;
     fLogin.eUsuario.SetFocus;
 end;
end;

es muy basico si se pudiera mejorar y corregir ese prolema muchas gracias
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

Guardar y verificar un usuario

Publicado por E.T. (1108 intervenciones) el 09/07/2016 20:50:39
Tu id lo obtienes una vez que ejecutas la consulta, por lo tanto debe ir depues del open
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TfLogin.bAceptarClick(Sender: TObject);
var
idcuenta: integer;
begin
fModulo.qCuentas.close;
fModulo.qCuentas.ParamByName('usuario').Value:= eUsuario.Text;
fModulo.qCuentas.ParamByName('contrasenia').Value:= eContrasenia.Text;
fModulo.qCuentas.Open;
 if fmodulo.qCuentas.IsEmpty then
 begin
     Application.MessageBox('No se pudo establecer la conexion. Revise usuario o contraseña','Drugstore',MB_ICONERROR+MB_OK) ;
     fLogin.ModalResult :=   mrNone;
     fLogin.eUsuario.SetFocus;
 end else begin
  //el query no está vacio, entonces llena la variable
  idcuenta:= fmodulo.qCuentas.FieldByName('idcuenta').AsInteger; //<-------------- ademas de que debe ser field no param
 end;
end;
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