Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   deshabilitar mensajes de ADO (https://www.clubdelphi.com/foros/showthread.php?t=70690)

Diego666 05-11-2010 05:10:51

deshabilitar mensajes de ADO
 
Hola.. t
Tengo estoy programando en d7 y me estoy conectando a SQL Express 2008 con TADOConnection .. funcionaba correctamente al conectarme por autenticacion de windows.. los problemas me han surgido cuando quiero conectarme por autenticacion de Windows o autenticacion de SQL

Si pongo las contrasenas corectas se conecta perfectamente cuando pongo una contrasena erronea me aparece una excepcion de eoleexception ..
Tengo entendido que los errores de ADO son independientes del compilador
y mi pregunta es como Deshabilito los Mensajes en el ado??
De antemano Gracias Por leer
Saludos

Neftali [Germán.Estévez] 05-11-2010 11:39:35

Puedes capturar los errores de ADO con las clases de excepciones que hay para ello como el resto de errores. Revisa EOLEException y prueba con un Try..except como se hace con el resto de errores.

Código Delphi [-]
try
    ADOConn.Connect;
    ...
except
  on E:EOLEException do begin
    ... errores de ADO
  end
  else begin
    .. resto de errores
  end;
end;

microbiano 05-11-2010 17:39:01

hola
 
como estas yo capturo los errores de la siguiente manera espero te sirva.
Código Delphi [-]
//boton de aceptar
procedure Tf_acceso.BaceptarClick(Sender: TObject);
begin
if trim(f_acceso.txtnombre.Text)='' then
  begin
    application.MessageBox('Proporciona Nombre de usuario','Error',mb_ok + mb_iconerror);
    f_acceso.txtnombre.SetFocus;
    f_acceso.txtnombre.Color:=clyellow;
    exit;
  end;
if trim(f_acceso.txtcontrasena.text)='' then
begin
    application.MessageBox('Contraseña del usuario','Error',mb_ok + mb_iconerror);
    f_acceso.txtcontrasena.SetFocus;
    f_acceso.txtcontrasena.Color:=clyellow;
    exit;
end;
//Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=sapa
fmodulo.con.Close;
fmodulo.con.ConnectionString:=
'Provider=MSDASQL.1;' +
        'Persist Security Info=false;' +
        'User ID=' + f_acceso.txtnombre.Text + ';' +
        'Password=' + f_acceso.txtcontrasena.Text + ';' +
        'Data Source=' + f_acceso.txtbase.Text;
try
    fmodulo.con.Connected:= true;
    MessageDlg('Se ha conectado correctamente a la BD: ' +
    txtbase.Text + '.', mtInformation, [mbok], 0);
    //creo y abro el form del menu
    Application.CreateForm(Tfmenu, fmenu);
    fmenu.ShowModal;
    f_acceso.Hide;
  except
    on E:EOleException do begin
     // error
    ///MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
    //end;
    if (E.ErrorCode = -2147217843) then
    begin
      //MessageDlg('Nombre de Usuario y/o Contraseña incorrecta', mtError, [mbOK], 0);
      application.MessageBox('Nombre de Usuario y/o Contrasena Incorrectos'+chr(13)+' '+chr(13)+'Intentelo Nuevamente','Error',mb_ok + mb_iconerror);
      f_acceso.txtnombre.Text:='';
      f_acceso.txtcontrasena.Text:='';
      exit;
    end;
    if (E.ErrorCode = -2147467259) then
    begin
      //MessageDlg('Hay un Error de configuracion con la base de datos'+CHR(13)+'pongase en contacto con el administrador', mtError, [mbOK], 0);
      application.MessageBox('Hay un Error de Configuracion con la base de datos'+CHR(13)+'pongase en contacto con el Administrador','Error',mb_ok + mb_iconerror);
      exit;
    end;
  end;
end;
end;

Diego666 06-11-2010 16:10:37

Gracias...
 
Muchas Gracias Neftali y Microbiano.. me ha sido de gran utilidad su Ayuda... EOleException me ha servido de Maravillas...
Saludos y hasta Luego...


La franja horaria es GMT +2. Ahora son las 07:59:54.

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