当本人用ACCESS以独占方式打开一个数据库并加了数据库密码,后
adoquery的CONNECTSTRING连接就产生错误,请指教.!

解决方案 »

  1.   

    你以独占方式打开一个数据库,再用ADOQuery去连接这个数据库?什么叫“独占”?当然出错了!
      

  2.   

    话是如此,但是如果不以独占的方式打开ACCESS数据库又如何能加密,请指教!
      

  3.   

    'Provider=Microsoft.Jet.OLEDB.4.0;User ID=%s;' //用户名
      +'Data Source=%s;' //数据库文件(*.mdb)位置
      +'Mode=Share Deny None;'
      +'Extended Properties="";'
      +'Jet OLEDB:System database="";'
      +'Jet OLEDB:Database Password=%S;' //密码
      +'Jet OLEDB:Engine Type=5;'
      +'Jet OLEDB:Database Locking Mode=1;'
      +'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'
    这样写
      

  4.   

    adoquery 的ConnectionString=上面所写
      

  5.   

    既然是独占方式,那么要么Access打开数据库,要么你的程序打开数据库。不可以两个同时。加了密码,只要在ConnectionString设置中加上密码,选择保存密码,就可以了。
      

  6.   

    简单的如下:
       一、ADO,jet4,设置好连接
       二、到{所有}页下的databasepassword中输入密码,再回来{测试连接},行了没?
       三。不行的话是你密码有错!
      

  7.   

    ConnectionString:=
          'Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;'+
          'Jet OLEDB:Database Password='+youpass+';Data ' +
          'Source='+databasename;
      

  8.   

    手工修改connectstring连接串,里面有两个地方有password字样,把口令填在后面那个就行了。自动生成的那个有误。