📄 sqlserversetup.pas
字号:
unit SqlServerSetup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,adodb,
Dialogs, TFlatButtonUnit, ExtCtrls, TFlatSpinEditUnit, StdCtrls,
TFlatEditUnit, WinSkinData, DB,IniFiles, ComCtrls;
type
TAdoDBConnect = record
UserID: string;
Pwd: string;
DataBase: string;
ServerIP: string;
FilePath:string;
end;
TForm1 = class(TForm)
Panel1: TPanel;
BtnConnect: TFlatButton;
BtnOK: TFlatButton;
BtnCancel: TFlatButton;
ADOConnection1: TADOConnection;
RadioGroup1: TRadioGroup;
GroupBox1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
EdtServer: TFlatEdit;
EdtDB: TFlatEdit;
EdtUser: TFlatEdit;
EdtPwd: TFlatEdit;
Panel2: TPanel;
Panel3: TPanel;
OpenDialog1: TOpenDialog;
EdtFilePath: TFlatEdit;
Button1: TFlatButton;
Label6: TLabel;
OraDB: TFlatEdit;
Label7: TLabel;
OraUser: TFlatEdit;
Label8: TLabel;
OraPwd: TFlatEdit;
Label5: TLabel;
procedure BtnConnectClick(Sender: TObject);
procedure BtnOKClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
function ConnectDB(Con:TAdoconnection;CInfo:TAdoDBConnect):boolean;
procedure PanelVisible(Panel1,Panel2,Panel3:TPanel);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
DBInfo:TAdoDBConnect;
IniFile:TIniFile;
function TForm1.ConnectDB(Con: TAdoconnection;
CInfo: TAdoDBConnect): boolean;
begin
Result:=true;
case RadioGroup1.ItemIndex of
0:
Con.ConnectionString:=Format('Provider=SQLOLEDB.1;Password=%s;User ID=%s;Initial Catalog=%s;'
+'Data Source=%s;',[CInfo.Pwd, CInfo.UserID, CInfo.DataBase, CInfo.ServerIP]);
// +'Persist Security Info=True;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False';
1:Con.ConnectionString:=Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=True;',[CInfo.FilePath]);
2:Con.ConnectionString:=Format('Provider=OraOledb.Oracle.1;password=%s;persist security Info=True;User ID=%s;Data Source=%s',[CInfo.pwd,CInfo.UserID,CInfo.DataBase]);
end;
try
Con.Connected:=true;
except
on E:Exception do
begin
ShowMessage('数据库连接错误:' + E.Message);
Result := False;
end;
end; //end try
end;
procedure TForm1.BtnConnectClick(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:begin
DBInfo.UserID:=EdtUser.Text;
DBInfo.Pwd:=EdtPwd.Text;
DBInfo.DataBase:=EdtDB.Text;
DBInfo.ServerIP:=EdtServer.Text;
end;
1:begin
DBInfo.FilePath:=EdtFilePath.Text;
end;
2:begin
DBInfo.UserID:=OraUser.Text;
DBInfo.Pwd:=OraPwd.Text;
DBInfo.DataBase:=OraDB.Text;
end;
end;
if ConnectDB(ADOConnection1,DBInfo) then
Application.MessageBox('数据库连接成功!','信息提示',MB_OK+MB_IconInformation);
end;
procedure TForm1.BtnOKClick(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:begin
IniFile.WriteString('DBConnect','ServerIP',EdtServer.Text);
IniFile.WriteString('DBConnect','DataBase',EdtDB.Text);
IniFile.WriteString('DBConnect','UserID',EdtUser.Text);
IniFile.WriteString('DBConnect','pwd',EdtPwd.Text);
end;
1:begin
IniFile.WriteString('DBConnect','FilePath',EdtFilePath.Text);
end;
2:begin
IniFile.WriteString('DBConnect','DataBase',OraDB.Text);
IniFile.WriteString('DBConnect','UserID',OraUser.Text);
IniFile.WriteString('DBConnect','pwd',OraPwd.Text);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
IniFile:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'SqlSetup.ini');
EdtUser.Text:=IniFile.ReadString('DBConnect','UserID','sa');
EdtPwd.Text:=IniFile.ReadString('DBConnect','Pwd','sa');
EdtServer.Text:=IniFile.ReadString('DBConnect','ServerIP','');
EdtDB.text:=IniFile.ReadString('DBConnect','DataBase','');
PanelVisible(GroupBox1,Panel2,Panel3);
end;
procedure TForm1.BtnCancelClick(Sender: TObject);
begin
close;
end;
procedure TForm1.PanelVisible(Panel1,Panel2,Panel3: TPanel);
begin
Panel1.Visible:=true;
Panel2.Visible:=false;
Panel3.Visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Filter:='Access数据库(*.mdb)|*.mdb';
if OpenDialog1.Execute then
EdtFilePath.Text:=OpenDialog1.FileName;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:begin
PanelVisible(GroupBox1,Panel2,Panel3);
EdtUser.Text:=IniFile.ReadString('DBConnect','UserID','sa');
EdtPwd.Text:=IniFile.ReadString('DBConnect','Pwd','sa');
EdtServer.Text:=IniFile.ReadString('DBConnect','ServerIP','');
EdtDB.text:=IniFile.ReadString('DBConnect','DataBase','');
end;
1:begin
PanelVisible(Panel2,GroupBox1,Panel3);
EdtFilePath.Text:=IniFile.ReadString('DBConnect','FilePath','');
end;
2:begin
PanelVisible(Panel3,GroupBox1,Panel2);
EdtUser.Text:=IniFile.ReadString('DBConnect','UserID','sa');
EdtPwd.Text:=IniFile.ReadString('DBConnect','Pwd','sa');
EdtDB.text:=IniFile.ReadString('DBConnect','DataBase','');
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -