如何动态配置ADO控件的连接串?(100分)

  • 主题发起人 主题发起人 ic1396
  • 开始时间 开始时间
I

ic1396

Unregistered / Unconfirmed
GUEST, unregistred user!
我在DELPHI程序中使用ADO控件连接不同的数据库,需要动态配置ConnectionString。我想<br>在程序运行时调用设计时配置ConnectionString的“数据链接属性”对话框,可行吗?我<br>该怎么做?
 
Edit1.Text := PromptDataSource(Handle, Edit1.Text );<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=1144133
 
函数 PromptDataSource 在哪里定义的?参数怎么用?望能详细解释一下,为什么我不能<br>编译通过
 
[red]uses &nbsp;AdoConEd[/red]<br><br>[blue]procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; EditConnectionString(ADOConnection1) ;<br>end;[/blue]
 
这是动态连接Excel的一段代码,适当修改:<br>if opendialog1.execute then begin<br>&nbsp; &nbsp; fName := opendialog1.filename;<br>&nbsp; &nbsp; ADOConnection1.Connected := false;<br>&nbsp; &nbsp; ADOTable1.close;<br>&nbsp; &nbsp; ConSql := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + fName + ';Extended Properties=Excel 8.0;Persist Security Info=False';<br>&nbsp; &nbsp; ADOConnection1.ConnectionString := ConSql;<br>&nbsp; &nbsp; ADOConnection1.Connected := true;<br>&nbsp;end;<br>
 
函数 PromptDataSource 是在ADODB单元里定义的。<br>第一个参数就是窗口的句柄,第二个参数就是初始化“数据链接属性”<br>窗口的ConnectionString。<br>函数的返回值就是配置好的ConnectionString<br>例如:ADOConnection1为ADOConnection<br>你可以这样设置ADOConnection1的ConnectionString:<br><br>ADOConnection1.ConnectionString &nbsp;:= PromptDataSource(Handle, ADOConnection1.ConnectionString);
 
在单元ADODB中定义。第一个是一个句柄,第二个是一个字符串也就是要得到的ConnectionString<br>一般第一个参数使用Application.Handle,也可以使用当前窗体的句柄,第二个参数一般是<br>ADO组件的ConnectionString。
 
ADOConnection1.Close;<br>ADOConnection1.ConnectionString:=sNewConnection ; &nbsp; //your new connection<br>ADOConnection1.Open;
 
谢谢大家!
 
后退
顶部