请问如何用INI文件控制数据库连结信息? 问题如上,请尽量说的详细一些!多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我使用ADO来访问数据库,建立了一个DB.INI,包括如下内容:[Database]ServerName=UserName=InitDB=Password=分别表示了服务器地址、用户名、登陆数据库和密码,其中密码是加密存放的。有一个函数来读入该DB.INI,然后组合成一个ADOConnection.ConnectionStrnig,当然密码部分要先解密。 别人的,不过思想都一样的。下面用一个简单的例子(如图),演示了建立、读取、存贮INI文件的方法。myini.ini文件中包含有"程序参数"小节,和用户名称(字符串)、是否正式用户(布尔值)和已运行时间(整型值)三个关键字。程序在窗体建立读取这些数据,并在窗体释放时写myini.ini文件。 附源程序清单 unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,inifiles,StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Edit1: TEdit;CheckBox1: TCheckBox;Edit2: TEdit;Label1: TLabel;Label2: TLabel;Timer1: TTimer;Label3: TLabel;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure Timer1Timer(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementationvarmyinifile:TInifile;{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);varfilename:string;beginfilename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:=TInifile.Create(filename);edit1.Text:= myinifile.readstring('程序参数','用户名称','缺省的用户名称');edit2.text:= inttostr(myinifile.readinteger('程序参数','已运行时间',0));checkbox1.Checked:= myinifile.readbool('程序参数','是否正式用户',False);end;procedure TForm1.FormDestroy(Sender: TObject);beginmyinifile.writestring('程序参数','用户名称',edit1.Text);myinifile.writeinteger('程序参数','已运行时间',strtoint(edit2.text));myinifile.writebool('程序参数','是否正式用户',checkbox1.Checked);myinifile.Destroy;end;procedure TForm1.Timer1Timer(Sender: TObject);beginedit2.Text:=inttostr(strtoint(edit2.text)+1);end;end. ADOConnection.ConnectionStrnig你可以先把上边的值取下来放到ini文件中,然后这样写varDBLink : String;beginDBLink := ProptDataSource(Handle,'ADOConnection.ConnectionStrnig');然后让ADOConnection.ConnectionStrnig的值等于DBLink;每次选取新的数据源的时候需要重新写一下ini文件。然后在用ini读取旧可以了end;给分!!!!!!!!!!!!!!! ServerName=这个参数可以是IP地址吗? 请问这样的按钮效果要怎么实现呢? 这个案例怎样设计比较好? 不知道如何解决比较好? 邮件问题 怎样用SQL连接两个表??? 花2元买彩票中了9000元,高兴,散分! delphi多线程查询多个数据库数据,可以同时运行的多线程数目? 各位老大,要改变DBGrid中所选中行的颜色怎么办! delphi在网页上上传成固定图片代码怎么写 delphi 编写的程序到别的电脑上面报错 找不到目录 如何隐藏界面 怎样在dbcombobxo中实现dblookupcombobox的功能?而且要解决lookupcombobox中重复问题的
[Database]
ServerName=
UserName=
InitDB=
Password=
分别表示了服务器地址、用户名、登陆数据库和密码,其中密码是加密存放的。有一个函数来读入该DB.INI,然后组合成一个ADOConnection.ConnectionStrnig,当然密码部分要先解密。
附源程序清单
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs,inifiles,StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
CheckBox1: TCheckBox;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Timer1: TTimer;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;implementation
var
myinifile:TInifile;
{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+'myini.ini';
myinifile:=TInifile.Create(filename);
edit1.Text:= myinifile.readstring
('程序参数','用户名称','缺省的用户名称');
edit2.text:= inttostr(myinifile.readinteger
('程序参数','已运行时间',0));
checkbox1.Checked:= myinifile.readbool
('程序参数','是否正式用户',False);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
myinifile.writestring('程序参数','用户名称',edit1.Text);
myinifile.writeinteger('程序参数','已运行时间',
strtoint(edit2.text));
myinifile.writebool('程序参数','是否正式用户',
checkbox1.Checked);
myinifile.Destroy;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit2.Text:=inttostr(strtoint(edit2.text)+1);
end;end.
你可以先把上边的值取下来放到ini文件中,然后这样写
var
DBLink : String;begin
DBLink := ProptDataSource(Handle,'ADOConnection.ConnectionStrnig');
然后让ADOConnection.ConnectionStrnig的值等于DBLink;
每次选取新的数据源的时候需要重新写一下ini文件。然后在用ini读取旧可以了
end;给分!!!!!!!!!!!!!!!
这个参数可以是IP地址吗?