在use单元里手工添加adoconed单元.
定义全局变量
var  connectionstring:Tstrings;
在formcreate事件里将它实例化.
connectionstring:Tstrings.create;
在button1的click事件里:
ADOConnection.Close;
  ADOConnection.ConnectionString := ConnectionString.Text;
  if EditConnectionString(ADOConnection) then
  begin
    ConnectionString.Text := ADOConnection.ConnectionString;
    ConnectionStringClick(Sender);
  end;

解决方案 »

  1.   

    ConnectionStringClick(Sender);
    //请问,这句是什么的点击事件。
      

  2.   

    表示调用ConnectionString的ONCLICK事件
      

  3.   

    var  connectionstring:Tstrings;
    在formcreate事件里将它实例化.
    connectionstring:Tstrings.create;
    在button1的click事件里:
    ADOConnection.Close;
      ADOConnection.ConnectionString := ConnectionString.Text;
      if EditConnectionString(ADOConnection) then
      begin
        ConnectionString.Text := ADOConnection.ConnectionString;
        ConnectionStringClick(Sender);
      end;//请问这时的EditConnectionString(ADOConnection)是什么,是自己写的方法吗?
    //还有ConnectionStringClick(Sender);是谁的事件,ConnectionString只是个TStrings类的实例,并没有事件啊!!!
    //我很笨请您明示。。
      

  4.   

    adoquery1.connectionstring:=promptdatesource(handle,adoquery1.connectionstring);
    在程序的user里面加入adodb
      

  5.   

    在use 加入单元ADOCONED,调用EditConnectionString(ADOConnection)就能调出adoconnection的连接字符串对话框,其它的不用管他了....
    =========
    对不起,我没说清楚,
      

  6.   

    请问用EditConnectionString(ADOConnection)调出adoconnection的连接字符串对话框,得到connectionstring之后我怎么将源数据库名称提取出来呢?
      

  7.   

    如果使用odbc连接到数据库服务器,我不大清楚如何得到源数据库.不过可以得到DSN的名称,使用api一定可以得到源数据库的名称的.
    使用ado连接,在连接字符串里面就可以看到源数据库的名称.
    Provider=SQLOLEDB.1;Password=801006;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=211.68.40.95
    其中pubs就是我所连接的数据库名称.
      

  8.   

    自己看看IDBPromptInitialize这个接口,方法PromptDataSource就是打开该对话框的。
      

  9.   

    mudeen(笑哥哥) 的说法是pubs就是我所连接的数据库名称.但我要单独得到它的名称,connectionstring不就是一串字符串吗,但我只想得到数据库名称,别的什么Provider,Password,Persist Security Info,User ID,Data Source全都去掉,怎么做?