动态ADO连接 请问哪路英雄能帮我解决以下问题:软件第一次运行需要指定后台数据库的连接服务器名、数据库名、用户名,第二次以后就不需要在指定了,直到改变后台服务器名称为止 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样做不是很好应该是指定到DSN,这样更方便管理如果你要指定DSN的话,我再给你代码 第一次写到注册表或者 INI文件里面呗 每次都从这里读 不能连接再让用户手动修改连接字 西周生:能不能告诉我具体怎么实现,ini我不是很懂,但是我看到被人用过,感觉很方便,请赐教,不胜感激,我 我是用INI文件实现的。根据不同的用户,直接修改INI文件的参数就行了。 INI文件内容如下: [Database] Provider=SQLOLEDB.1 Password=ldt2001 Persist Security Info=True User ID=sa Initial Catalog=SomeOneWatch_DB Data Source=YF 然后在程序中写一个读取函数 Function TDataModule1.ReadLoginParams():String;Var fileName:String; systeminifile:Tinifile;begin Result:=''; Filename:=extractfilepath(paramstr(0))+'Setup.ini'; systeminifile:=tinifile.Create(filename); try Result:=Result+'Provider='+Systeminifile.ReadString('Database','Provider','')+';'; Result:=Result+'Password='+Systeminifile.ReadString('Database','Password','')+';'; Result:=Result+'Persist Security Info='+Systeminifile.ReadString('Database','Persist Security Info','')+';'; Result:=Result+'User ID='+Systeminifile.ReadString('Database','User ID','')+';'; Result:=Result+'Initial Catalog='+Systeminifile.ReadString('Database','Initial Catalog','')+';'; Result:=Result+'Data Source='+Systeminifile.ReadString('Database','Data Source',''); Finally Systeminifile.Destroy; End;End;最后在ADOConnection的ONLogin事件中写入 procedure TDataModule1.ADOConnection1Login(Sender: TObject; Username, Password: String);begin AdoConnection1.ConnectionString:=ReadLoginParams();end;希望对你有帮助。 cn := TADOConnection.Create(nil); cn.ConnectionString := 'Provider=SQLOLEDB.1;Password=ly_dragonsoft;Persist Security Info=True;User '+ 'ID=sqldba;Data Source=server;Use Procedure for Prepare=1;Auto Translate=True;'+ 'Packet Size=4096;Workstation ID=LY2001002'; cn.DefaultDatabase := GetCurrentDatabaseName ; cn.KeepConnection := true; cn.ConnectionTimeout := 5; cn.LoginPrompt := False; DirectoryListBox1、DriveComboBox1 从ie复制出来的文字是带链接的,在delphi中如何现实呢? 请问我如何将FORM的鼠标滚轮事件发送给FORM上的其它控件? 转帖:为何奇瑞总在网上被无端攻击! 哪位高手知道打包ACCESS时不将.MDB文件(占用空间)打进去,表程序创建,请问有方法解决吗 在F1Book1中显示图片,谢谢 请问控件TClientDataSet在其Params属性中设置好参数后,如何设置SQL语句??? 如何退出过程? 列表框和树型控件 关于Delphi7的浮点运算。见鬼了。100分求教 小妹请教各位大侠(急用)? 数据库字段
INI文件内容如下:
[Database]
Provider=SQLOLEDB.1
Password=ldt2001
Persist Security Info=True
User ID=sa
Initial Catalog=SomeOneWatch_DB
Data Source=YF
然后在程序中写一个读取函数
Function TDataModule1.ReadLoginParams():String;
Var fileName:String;
systeminifile:Tinifile;
begin
Result:='';
Filename:=extractfilepath(paramstr(0))+'Setup.ini';
systeminifile:=tinifile.Create(filename);
try
Result:=Result+'Provider='+Systeminifile.ReadString('Database','Provider','')+';';
Result:=Result+'Password='+Systeminifile.ReadString('Database','Password','')+';';
Result:=Result+'Persist Security Info='+Systeminifile.ReadString('Database','Persist Security Info','')+';';
Result:=Result+'User ID='+Systeminifile.ReadString('Database','User ID','')+';';
Result:=Result+'Initial Catalog='+Systeminifile.ReadString('Database','Initial Catalog','')+';';
Result:=Result+'Data Source='+Systeminifile.ReadString('Database','Data Source','');
Finally
Systeminifile.Destroy;
End;
End;最后在ADOConnection的ONLogin事件中写入
procedure TDataModule1.ADOConnection1Login(Sender: TObject; Username,
Password: String);
begin
AdoConnection1.ConnectionString:=ReadLoginParams();
end;希望对你有帮助。
cn.ConnectionString :=
'Provider=SQLOLEDB.1;Password=ly_dragonsoft;Persist Security Info=True;User '+
'ID=sqldba;Data Source=server;Use Procedure for Prepare=1;Auto Translate=True;'+
'Packet Size=4096;Workstation ID=LY2001002';
cn.DefaultDatabase := GetCurrentDatabaseName ;
cn.KeepConnection := true;
cn.ConnectionTimeout := 5;
cn.LoginPrompt := False;