我想用ADO连结数据库,但不想通过ODBC设置,通过在程序中动态设定,请问该怎么做?

解决方案 »

  1.   

    ADOConnection1.Connected:=false;
      tempPath:=ExtractFilePath(Application.ExeName)+'\tongxulu.mdb';//数据库文件路径
      tempStr:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=';
      tempStr:=tempStr+tempPath;
      tempStr:=tempStr+';Mode=ReadWrite;Extended Properties="";';
      tempStr:=tempStr+'Locale Identifier=2052;';
      tempStr:=tempStr+'Persist Security Info=False;';
      tempStr:=tempStr+'Jet OLEDB:System database="";';
      tempStr:=tempStr+'Jet OLEDB:Registry Path="";';
      tempStr:=tempStr+'Jet OLEDB:Database Password="test";';//密码
      tempStr:=tempStr+'Jet OLEDB:Engine Type=5;';
      tempStr:=tempStr+'Jet OLEDB:Database Locking Mode=1;';
      tempStr:=tempStr+'Jet OLEDB:Global Partial Bulk Ops=2;';
      tempStr:=tempStr+'Jet OLEDB:Global Bulk Transactions=1;';
      tempStr:=tempStr+'Jet OLEDB:New Database Password="";';
      tempStr:=tempStr+'Jet OLEDB:Create System Database=False;';
      tempStr:=tempStr+'Jet OLEDB:Encrypt Database=False;';
      tempStr:=tempStr+'Jet OLEDB:Don''t Copy Locale on Compact=False;';
      tempStr:=tempStr+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
      ADOConnection1.ConnectionString:=TempStr;
      

  2.   

    不用那么麻烦,这段代码
    adoConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
                'Data Source=×××.mdb;Persist Security Info=False';
        end;
        try
            adoConnection.Open;
        except
            on E:Exception do
            begin
                ShowMessage('ADO连接数据库失败!'+E.Message);
                result:=false;
                exit;
            end;
        end;
    其中×××是指mdb的路径
      

  3.   

    使用adoconnection连接数据库后,将connectstring拷贝下来,你什么时候要连接,复制到哪里就行了
      

  4.   

    'Data Source=×××.mdb,要保证你的数据库和你的exe 文件在一个目录下
      

  5.   

    连接串可以这样写
    ‘Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;‘+
    ‘Data Source='+数据库路径+';Jet OLEDB:Database Password=’ +密码+‘;
      

  6.   

    seatu(00)  chilli7811(chilli)  is right