git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@443 0c75b7a4-871f-7646-8a2f-f78d34cc349f
112 lines
3.1 KiB
ObjectPascal
112 lines
3.1 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, dxSkinsCore, dxSkinBlack, dxSkinBlue,
|
||
dxSkinCaramel, dxSkinCoffee, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian,
|
||
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins,
|
||
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
|
||
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust,
|
||
dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue;
|
||
|
||
type
|
||
TfrConexionBD = class(TFrameConfiguracion)
|
||
GroupBox1: TGroupBox;
|
||
edtServer: TEdit;
|
||
edtPort: TEdit;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
Label3: TLabel;
|
||
bProbar: TButton;
|
||
Label4: TLabel;
|
||
edtUser: TEdit;
|
||
Label5: TLabel;
|
||
edtPassword: TEdit;
|
||
Bevel1: TBevel;
|
||
OpenDialog: TOpenDialog;
|
||
edtPath: TcxButtonEdit;
|
||
IBDatabase: TIBDatabase;
|
||
procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
procedure bProbarClick(Sender: TObject);
|
||
procedure edtPortExit(Sender: TObject);
|
||
protected
|
||
procedure Finalize; override;
|
||
public
|
||
procedure Init; override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses uDataModuleServer;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrConexionBD.cxButtonEdit1PropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
begin
|
||
if OpenDialog.Execute then
|
||
edtPath.Text := OpenDialog.FileName;
|
||
end;
|
||
|
||
procedure TfrConexionBD.bProbarClick(Sender: TObject);
|
||
var
|
||
Aux : string;
|
||
begin
|
||
with IBDatabase do
|
||
begin
|
||
Connected := False;
|
||
DatabaseName := edtServer.Text + '/' + edtPort.Text + ':' + edtPath.Text;
|
||
LoginPrompt := False;
|
||
|
||
Params.Clear;
|
||
Params.Add('lc_ctype=ISO8859_1');
|
||
Params.Add('user_name=' + edtUser.Text);
|
||
Params.Add('password=' + edtPassword.Text);
|
||
|
||
try
|
||
Connected := True;
|
||
Application.MessageBox('Conexi<78>n v<>lida con la base de datos.', 'FactuGES', MB_OK);
|
||
Connected := False;
|
||
except
|
||
on E : Exception do
|
||
begin
|
||
Aux := 'No se ha podido establecer la conexi<78>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;
|
||
edtPort.Text := dmServer.FDBPort;
|
||
edtPath.Text := dmServer.FDBPath;
|
||
edtUser.Text := dmServer.FDBUser;
|
||
edtPassword.Text := Decrypt(dmServer.FDBPass);
|
||
end;
|
||
|
||
procedure TfrConexionBD.Finalize;
|
||
begin
|
||
dmServer.FDBServer := edtServer.Text;
|
||
dmServer.FDBPort := edtPort.Text;
|
||
dmServer.FDBPath := edtPath.Text;
|
||
dmServer.FDBUser := edtUser.Text;
|
||
dmServer.FDBPass := Encrypt(edtPassword.Text);
|
||
end;
|
||
|
||
procedure TfrConexionBD.edtPortExit(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Length(edtPort.Text) = 0 then
|
||
edtPort.Text := DBSERVER_PORT;
|
||
end;
|
||
|
||
end.
|