PDA

Ver la Versión Completa : Propiedades del ADOConnection


Alexandro
22-12-2008, 14:50:00
Hola amigos:
Necesito algo de info acerca de las propiedades de este componente.
Por lo menos la propiedad OnLogin
Gracias

Caral
22-12-2008, 15:08:35
Hola
Nunca he usado este evento, pero me imagino que se usara para hacer algo posteriormente de haberse logueado.
Supongo que tendra que ver con la propiedad login.
Saludos

Alexandro
22-12-2008, 15:29:45
Hola Caral:
Gracias por contestar. Mira, el porque quiero saber esta propiedad es poara conocer cuando un usuario se ha logueado bien o mal. Digamos que en la BD tengo el user Alexandro con password "ale" y quiero saber cuando el pass y el user estan bien o mal.
En caso de que esten mal, que me eleve un error diciendo "Usuario o contrasenna incorrecta."
Quizas tu lo has hecho de otra forma y quisiera pedirte que me digas como puedo lograr esto.
Espero me contestes.
Gracias.

Caral
22-12-2008, 15:34:28
Hola
Aqui te dejo un ejemplo de como loguearse, asi lo hago yo.
Esta en access, pero el concepto es lo que importa.
Tal vez te sirva de ejemplo.
Saludos

Neftali [Germán.Estévez]
22-12-2008, 15:56:11
Como dice Caral, el sistema es parecido, aunque en el caso de SQl Server (no he probado sinb con Access también) puedes utilizar el método OPen del TADOConnection.


try
ADOConnection1.Open(EUsuario.Text, EClave.Text);
if (ADOConnection1.connected) then begin
MessageDlg('Se ha conectado correctamente.', mtInformation, [mbOK], 0);
end;
except
on E:Exception do begin
MessageDlg(Format('Error al conectar; Error completo: (%s) %s',
[E.ClassName, E.Message]), mtError, [mbOK], 0);
end;
end;


Donde capturas la excepción puedes personalizar el mensaje de error con lo que quieras. Es más, de ahí sacas la información de que el error que te llega es EOleException y si así lo capturas tienes un campo entero con el número de error.

Alexandro
22-12-2008, 19:46:48
Hola a los 2 y muchas gracias por contestarme. Me ha servido de mucho la ayuda de ambos. Ya funciona. Esto es lo que hice:

procedure TFrm_Entrada.BitBtn1Click(Sender: TObject);
begin
Modulo_Conexion.ADO_Conector.ConnectionString:='Provider=SQLOLEDB.1;Password='+Edt_Pass.Text+';Persi st Security Info=True;User ID='+Edt_Usuario.Text+';Initial Catalog=RRHH;Data Source=INFORMATICA4;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=INFORMATICA4;Use Encryption for Data=False;Tag with column collation when possible=False';
Try
Modulo_Conexion.ADO_Conector.Open(Edt_Usuario.Text,Edt_Pass.Text);
if Modulo_Conexion.ADO_Conector.Connected then
begin
ShowMessage('Conectado');
Frm_Principal.Show;
Frm_Entrada.Hide;
end;
except
on E:Exception do begin
MessageDlg(Format('Error al conectar; Error completo: (%s) %s',
[E.ClassName, E.Message]), mtError, [mbOK], 0);
end;
end;
end;

Bien, eso es lo que he hecho. Aca no hay problemas. Me esta dando un error la segunda vez que inicio la aplicacion que dice: "Especificación de autorizacion no valida". Saben a que se debe esto? Hay algo que no he puesto? que me falta?
Gracias de antemano.

Caral
22-12-2008, 19:57:19
Hola
Tal vez al salir dejar residuo de que estaba abierta la conexion.
No se, tal vez al cerrar, eliminar este proceso?.
Saludos

Alexandro
22-12-2008, 21:42:35
Gracias a los 2, ya he resuelto el problema, es que se queda abierto cuando cierro el programa. Ya lo he puesto que se cierre cuando cierro la apli.
1000000 gracias