📄 dbconnect.pas
字号:
unit DBConnect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TFlatPanelUnit,IniFiles;
type
TfrmConnect = class(TForm)
FlatPanel1: TFlatPanel;
Label1: TLabel;
Label2: TLabel;
edtServerName: TEdit;
edtDatabaseName: TEdit;
Label3: TLabel;
edtUserName: TEdit;
Label4: TLabel;
edtPassword: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure ReadFromIni(var aServerName, aDatabaseName, aUserName, aPassword:
string); //读取配置文件信息
procedure WriteToIni(const aServerName, aDatabaseName, aUserName, aPassword:
string); //向配置文件写入信息
function DBConnectExecute(aClass: TFormClass): boolean;
//用于打开窗体,并判断是否配置成功
var
frmConnect: TfrmConnect;
Connected: Boolean;
implementation
{$R *.dfm}
uses Data,MainForm;
//用于打开窗体,并判断是否配置成功
function DBConnectExecute(aClass: TFormClass): boolean;
begin
with aClass.Create(Application) do
begin
try
showModal;
finally
free;
result := Connected;
end;
end;
end;
//读取配置文件信息
procedure ReadFromIni(var aServerName, aDatabaseName, aUserName, aPassword:
string);
var
IniFile:TIniFile;
FileName: string;
begin
FileName := ExtractFilePath(application.ExeName) + '\DB.ini';
IniFile := TIniFile.Create(FileName);
aServerName :=IniFile.ReadString('DB', 'ServerName', '');
aDatabaseName :=IniFile.ReadString('DB', 'DatabaseName', '');
aUserName :=IniFile.ReadString('DB', 'UserName', '');
aPassword :=IniFile.ReadString('DB', 'Password', '');
IniFile.Free;
end;
//向配置文件写入信息
procedure WriteToIni(const aServerName, aDatabaseName, aUserName, aPassword:
string);
var
IniFile: TIniFile;
FileName: string;
begin
FileName := ExtractFilePath(application.ExeName) + '\DB.ini';
IniFile := TIniFile.Create(FileName);
IniFile.WriteString('DB', 'ServerName', aServerName);
IniFile.WriteString('DB', 'DatabaseName', aDatabaseName);
IniFile.WriteString('DB', 'UserName', aUserName);
IniFile.WriteString('DB', 'Password', aPassword);
IniFile.Free;
end;
procedure TfrmConnect.Button2Click(Sender: TObject);
begin
application.Terminate;
end;
procedure TfrmConnect.Button1Click(Sender: TObject);
var
Connstr, serverName, databaseName, userName, password: string;
begin
//
writeToIni(edtServerName.Text, edtDatabaseName.Text, edtUserName.Text,
edtPassword.Text);
readFromIni(serverName, databaseName, userName, password);
Connstr := 'Provider=SQLOLEDB.1;Password=' + password +
';Persist Security Info=True;User ID=';
Connstr := Connstr + userName + ';Initial Catalog=' + databaseName +
';Data Source='
+ serverName;
localstr := Connstr;
dm.ADOConnection1.ConnectionString:=connstr;
//DM.conMain.ConnectionString := Connstr;
try
dm.ADOConnection1.Open;
// DM.conMain.Open;
except
begin
Application.MessageBox('数据库连接错误,请重新连接!', '系统提示',
MB_OK + MB_ICONWARNING);
end;
end;
if dm.ADOConnection1.Connected = true then
begin
Application.MessageBox('数据库连接成功!', '系统提示', MB_OK +
MB_ICONINFORMATION);
frmMain.showmodal;
//close;
end;
end;
procedure TfrmConnect.FormCreate(Sender: TObject);
var
serverName, databaseName, userName, password: string;
begin
//
readFromIni(serverName, databaseName, userName, password);
frmconnect.edtServerName.Text:=SerVerName;
frmconnect.edtDatabaseName.Text:=DatabaseName;
frmconnect.edtUserName.Text:=UserName;
frmconnect.edtPassword.Text:=Password;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -