我在程序里已经创建好DSN和指定了数据库的路径(用的是MS ACCESS),现在我想用ADOConnection来连接这个DSN,程序里要怎么写呢?是不是用它的ConnectionString属性呢?望指明,谢谢!给分,说到做到!

解决方案 »

  1.   

    用ConnectionString,他有个向导,选择odbc driver,按照向导做。你可以将向导产生的字符串在程序中根据dsn动态设置.
      

  2.   

    对,我就是用的这个ConnectionString,不过我建议你在程序里动态设置,那样对
    你以后的设计有好处!
      

  3.   

    你是用odbc来使用access建立dsn吧,ado是不用dsn的,他们不是一种方式
    你要连接直接使用connectionstring 不用dsn的
      

  4.   

    可以用一个函数来指定你的Connection,函数是:PromptDataSource(handle,DataConnStr);
    自己试一下就知道了。
      

  5.   

    Resourcestring
      strConn = 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=%s;'+
                'Mode=Share Deny None;Extended Properties="";Jet OLEDB:System '+
                'database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database '+
                'Password=123;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking '+
                'Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk '+
                'Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create '+
                'System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:'+
                'Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without '+
                'Replica Repair=False;Jet OLEDB:SFP=False';//===========
    procedure TMData.DataModuleCreate(Sender: TObject);
    var
      strFile: string;
    begin
      if dbTemp.Connected then dbTemp.Connected := False;
      strFile := ExtractFilePath(Application.ExeName) + 'temp.mdb';
      dbTemp.ConnectionString := Format(strConn, [strFile]);
      try
        dbTemp.Connected := True;
      except
        //other code
      end;
    end;