1、自动设置??不明白你的意思
2、你要写一个类似设置ODBC的界面?

解决方案 »

  1.   

    1.代码如下:(服务器为Sql Server 7.0)
    procedure TDmForm.DataModuleCreate(Sender: TObject);
    var
      inif  :Tinifile;
      Fstr,FDataBase,fst,Fserver:String;
    begin
      if ADOConnection1.Connected then ADOConnection1.Close;
      {*** 读取INI文件中的ODBC配置 ***}
      fst :=ChangeFileExt(Application.ExeName,'.Ini');
      Inif:=TIniFile.Create(fst);
      with Inif do
      begin
        FDataBase :=Trim(ReadString('ODBC配置','数据库名','TESTDATA'));
        FServer   :=Trim(ReadString('ODBC配置','服务器名','(local)'));
        free;
      end;
      Fstr:='Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;User ID=test;';
      Fstr:=Fstr+'Initial Catalog='+FDataBase+';Data Source='+FServer;
      ADOConnection1.ConnectionString:=Fstr;
      IfContinue:=False;
      try
        ADOConnection1.Open;
      except
        showmessage('无法连接到服务器的数据库,程序无法运行!');
        exit;
      end;
    end;
      

  2.   

    2.ODBC中的设置其实是在注册表中,你只要看看
    HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI有哪些子键就知道了。
       明白了吗?给分吧!
      

  3.   

    都什么呀?到底用没用过ado呀。
    我的意思是说:在用adoconnection连接数据库时,系统会弹出一个建立connectString的窗体,用户可以通过他很方便的设置connectString,我想在我的程序中直接使用这个类似向导的东西,
    应该怎么做?(因为我的数据源不确定,需要用户自行选择)
      

  4.   

    可以先用connectString链接一个数据,connected设为false,这时在connectString中有一串
    配置字符串,中间有加载数据库的一段字符串,通过程序的方法动态改变数据的名称和位置如下
    adoconnection.Connected:=false;
    adoconnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
                Data Source='+tmpstr+';Persist Security Info=False';
    adoconnection.Connected:=true;tmpstr就是数据库名(包括路径),可以使用OpenFileDialog来选择想链接的数据库
    可以了吗,行就给分
      

  5.   

    uses  ADOConEd;//////////试试吧//////  
      ADOConnection1.Close;
      ADOConnection1.ConnectionString := ConnectionString.Text;
      if EditConnectionString(ADOConnection1) then
      begin
        ConnectionString.Text := ADOConnection1.ConnectionString;
        ConnectionStringClick(Sender);
      end;
      

  6.   

    谢谢Alok(老姜),就是他,把第一个画面改成中文就ok了 
      

  7.   

      ConnectionString.Text := PromptDataSource(Handle, ConnectionString.Text);这一句 ,足够了,
      

  8.   

    我靠, 这是adotest里的东西!