Varela_PuntosVenta/Source/Servidor/Configuracion/uConexionBD.pas

91 lines
2.3 KiB
ObjectPascal

unit uConexionBD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, cxShellBrowserDialog, cxControls,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit, IBServices,
DB, IBDatabase, uFrameConfiguracion, ADODB;
type
TfrConexionBD = class(TFrameConfiguracion)
GroupBox1: TGroupBox;
edtServer: TEdit;
Label1: TLabel;
Label3: TLabel;
bProbar: TButton;
Label4: TLabel;
edtUser: TEdit;
Label5: TLabel;
edtPassword: TEdit;
Bevel1: TBevel;
edtBD: TEdit;
ADOConnection: TADOConnection;
procedure bProbarClick(Sender: TObject);
protected
procedure Finalize; override;
public
procedure Init; override;
end;
implementation
uses uDataModuleServer;
{$R *.dfm}
procedure TfrConexionBD.bProbarClick(Sender: TObject);
var
Aux : string;
begin
//Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gft_varela;Data Source=david
Aux := 'Provider=SQLOLEDB.1;Persist Security Info=False';
Aux := Aux + ';Data Source=' + edtServer.Text;
Aux := Aux + ';User ID=' + edtUser.Text;
Aux := Aux + ';Password=' + edtPassword.Text;
Aux := Aux + ';Initial Catalog=' + edtBD.Text;
with ADOConnection do
begin
LoginPrompt := False;
Mode := cmRead;
Provider := 'SQLOLEDB.1';
ConnectionString := Aux;
ShowHourglassCursor;
try
Connected := True;
Application.MessageBox('Conexión válida con la base de datos.', 'Información', MB_OK);
Connected := False;
except
on E : Exception do
begin
HideHourglassCursor;
Aux := 'No se ha podido establecer la conexión con la base de datos.'
+ #13 + #10 + #13 + #10 + PChar(E.Message);
Application.MessageBox(PAnsiChar(Aux), 'Error', MB_OK);
end;
end;
end;
end;
procedure TfrConexionBD.Init;
begin
edtServer.Text := dmServer.FDBServer;
edtBD.Text := dmServer.FDBName;
edtUser.Text := dmServer.FDBUser;
edtPassword.Text := Decrypt(dmServer.FDBPass);
end;
procedure TfrConexionBD.Finalize;
begin
dmServer.FDBServer := edtServer.Text;
dmServer.FDBName := edtBD.Text;
dmServer.FDBUser := edtUser.Text;
dmServer.FDBPass := Encrypt(edtPassword.Text);
end;
end.