unit Unit1; interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,inifiles, StdCtrls, DB, ADODB;//要加入单元INIFILES const
strininame='db.ini'; //INI文件名 type
TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit;
Button1: TButton; Button2: TButton;
ADOConnection1: TADOConnection;
procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private
{ Private declarations } public
{ Public declarations }
procedure readparam(out server:string;out database:string;out user:string;out password:string);//读INI文件
procedure writeparam(server:string;database:string;user:string;password:string);//写到INI文件中 function getConnStr:string; end;
var
Form1: TForm1;
iniparam:Tinifile; strlocal:string;
implementation
{$R *.dfm}
procedure tform1.readparam(out server:string;out database:string;out user:string;out password:string); begin
server:=iniparam.ReadString('dbparam','Data Source','');
database:=iniparam.ReadString('dbparam','initial catalog',''); user:=iniparam.ReadString('dbparam','User ID','');
password:=iniparam.ReadString('dbparam','password',''); end;
procedure tform1.writeparam(server:string;database:string;user:string;password:string); begin
iniparam.WriteString('dbparam','Data Source',server);
iniparam.WriteString('dbparam','Initial Catalog',database); iniparam.WriteString('dbparam','User ID',user);
iniparam.WriteString('dbparam','Password',password); end;
function tform1.getConnStr:string; var
server,database,user,password:string; begin
readparam(server,database,user,password);
result:='provider=sqloledb.1;password='+password+';persist security info=true;User id='+user+';Initial catalog='+database+';data source='+server;
end;
procedure TForm1.FormShow(Sender: TObject); var
sServer,sDatabase,sUser,sPassword:string; begin
readparam(sServer,sDatabase,sUser,sPassword);//将INI文件内容读出来,分别放到4个文本框里 Edit1.Text:=sServer; Edit2.Text:=sDatabase; Edit3.Text:=sUser;
Edit4.Text:=sPassword;
self.ActiveControl:=self.Button1; end;
procedure TForm1.FormCreate(Sender: TObject); begin
iniparam:=tinifile.Create('c:\\'+strininame);//在C盘下建立INI文件 end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin
iniparam.Free; end;
procedure TForm1.Button1Click(Sender: TObject); var
sS,sD,Su,SP:string; begin
SS:=edit1.Text; sd:=edit2.Text; su:=edit3.Text; sP:=edit4.Text;
writeparam(ss,sd,su,sp);
showmessage('配置保存成功'); end;
procedure TForm1.Button2Click(Sender: TObject); begin
adoconnection1.ConnectionString:=getconnstr; try
adoconnection1.Open;
showmessage('数据库连接成功'); except
showmessage('数据库连接失败'); end; end; end.