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)
-   -   Cambiar MSG de Error al no conectarse a una base de datos (https://www.clubdelphi.com/foros/showthread.php?t=94506)

mRoman 08-03-2020 18:23:11

Cambiar MSG de Error al no conectarse a una base de datos
 
Hola buenos dias.

Trabajo con DELPHI6 y FIREBIRD 2.0, Win10

Saludos amigos. Nuevamente apoyándome en todos ustedes y sus conocimientos.

Tengo un formulario LOGIN que tiene 2 botones "INICIAR SESION" y otro "CANCELAR" y tengo un DATAMODULE con un IBDatabase y un IBTransaction.

El usuario al dar click sobre el botón Cancelar, pues obvio no se conecta y sale un mensaje de error de que el usuario y contraseña no están en la base de datos...., como puedo cambiar este mensaje que me manda por default y mostrar otro.

Aqui el código en el DataModule:
Código Delphi [-]
procedure TbdMMS.dbMMSLogin(Database: TIBDatabase; LoginParams: TStrings);
begin
     try
           frmConexion:=TFrmConexion.Create(Self);

           if frmConexion.ShowModal = mrOk then
              begin
                  LoginParams.Values['user_name'] := frmConexion.edNombreUsu.Text;
                  LoginParams.Values['password']  := frmConexion.edContrasenia.Text;
                  dbMMS.DatabaseName:=frmConexion.cServer+':C:\MMS\BD\BD-MMS.FDB';
              end;
     finally
          frmConexion.Free;
     end;

end;

Como interceptar ese mensaje y mostrar otro....??

Gracias por su tiempo.

ecfisa 09-03-2020 01:32:02

Hola.

Un ejemplo de como podrías implementarlo:
Código Delphi [-]
...

implementation

{$R *.dfm}

uses Unit2 {DataModule (dmConnect) };

procedure TForm1.btConnectClick(Sender: TObject);
const
   ERCONNECT = 'No se pudo conectar con la base de datos.' + #10 +
              'Consulte con el administrador del programa.';
begin

  // Se supone a dmConnect ya creado

  dmConnect.IBDatabase.Connected    := False;
  dmConnect.IBDatabase.DatabaseName := 'NOMBRE_DE_TU_BD';
  dmConnect.IBDatabase.Params.Clear;
  dmConnect.IBDatabase.LoginPrompt  := False;
  dmConnect.IBDatabase.Params.Add('user_name=' + edUserName.Text);
  dmConnect.IBDatabase.Params.Add('password='  + edPassword.Text);
  try
    dmConnect.IBDatabase.Open;
  except
    raise Exception.Create(ERCONNECT);
  end;
end;

El resultado:


Saludos :)

mRoman 09-03-2020 18:01:22

Ok. Gracias eficsa por contestar.

Lo aplicaré...

Muchas gracias,


La franja horaria es GMT +2. Ahora son las 21:15:19.

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