请问如何在程序运行阶段调出ADO数据源配置窗口?? (20分)

  • 主题发起人 主题发起人 stallone
  • 开始时间 开始时间
S

stallone

Unregistered / Unconfirmed
GUEST, unregistred user!
就是在程序设计阶段点connection.string (...)属性弹出来的窗口~
我试了N遍,均无法实现,
 
引用 Source/Property Editoers/AdoConEd.pas

ADOConEd.EditConnectionString(ADOConnection)
 
to hbezwwl,

感谢回复,
我依照你的答复调试后,delphi报错:说
ADOConEd.EditConnectionString(ADOConnection)
括弧里的adoconnection未定义,不能识别它,
我是在project manage中add ../Source/Property Editoers/AdoConEd.pas的,
project.pas中也有引用到Source/Property Editoers/AdoConEd.pas,
为何不能调试成功?请再指教(最好能详细点:)!

 
ADOConEd.EditConnectionString(ADOConnection)
调用时要确保ADOConnection是一个ADO连接控件的名称,且已创建,如果ADOConnection是在dataModal里面的就要保证dataModal已创建,才能调用。
 
PromptDataSource(Handle, AdoConnection1.ConnectionString)
 
自己编写一个界面,读取数据库位置、数据源名称、使用的提供者,再组装出
ConnectString就可以了。
直接使用delphi的ADO库也可以。看看附的原程序吧。
 
搞不定啊,命苦啊。。。。。洋人的东东就是难学,~
 
小笨笨,你的TADOConnection组件的name是什么?
ADOConEd.EditConnectionString(这里是他的名字) [:)]
 
呵呵,楼上可真温柔,

我看应该这样给人家答案。
uses adodb;
promptdatasource(0,'');
或者
uses AdoConEd;

ADOConEd.EditConnectionString(Adoconnection1);

呵呵,真受不了了。
 
我记得,在vb中,可以用一种udl的文件,不知道在delphi中是否可以!!
udl文件存的是配置信息!
 
在delphi中不是有现成的例子吗?AODTest中,connectionstring下拉框右边不是
有一个speedButton,单击事件就有类似的代码。
 
我讨厌别人叫我小笨笨!!

呵~不过,还是照这位大师指点——加上了它的NAME,即
ADOConEd.EditConnectionString(Adoconnection1);(开始我是写成adoconnection)

结果:
[Error] Unit1.pas(32): Undeclared identifier: 'ADOConEd'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'

虽说编译错误少了很多,可是还是通不过啊~~
我就是在project manage中add ../Source/Property Editoers/AdoConEd.pas的,
project.pas中也有引用到Source/Property Editoers/AdoConEd.pas,
(是不是不能这样引用??)应该如何才是正确的引用方法,
我注意到ADOconED仅是一个.pas 不是.dpr,
是不是因为这个原因?

附:project1.drp代码
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
AdoConEd in '../../../Source/Property Editors/AdoConEd.pas' {ConnEditForm};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TConnEditForm, ConnEditForm);
Application.Run;
end.
 
ADOConEd是AdoConnection呀,你应该放一个控件的。。。。
 
edtConnectStr1.Text:=PromptDataSource(Handle,edtConnectStr1.Text);
 
多人接受答案了。
 
后退
顶部