ado build 的时候设置占用方式

解决方案 »

  1.   

    估计是
    口令要在adoconntion第4页 database password处输入
      

  2.   

    你用OFFICE XP 做的,是不是ADO还不认识他的格式。
      

  3.   

    你用的是Delphi的什么版本,打过相应的pack没有,不打pack,你的问题是解决不了的。
      

  4.   

    to lovewangj(lllll):
    我用的是Delphi 5.0 Enterprise,补丁装过了。
    我记得在Access中设置数据库的密码时,Access让我独占打开数据库,这个问题是否和此有关。
      

  5.   

    不要设置数据库密码。
    这个好象是Delphi5的ADO的Bug
      

  6.   

    独占打开数据库后,在access关闭后才能在delphi中打开。
    还有,你看看你的access有没有坏了,如果坏了,连在access中的许多按钮是灰色的。
      

  7.   

    to genphone_ru(票票):
    如果真的如你所说,这是Delphi5的ADO的Bug的话,那么,我该怎样禁止其他人通过Access来访问我的数据库呢?
      

  8.   

    to vernal(语蓝)(猪猪):
    我的数据库没有坏,而且也是关闭access后,才在delphi中去试图打开它的。
      

  9.   

    可能是ADO现在不支持ACCESS XP数据库,我遇到ACCESS 97也是这样的,加密就不行,不加密就行。
      

  10.   

    to rodegun():
    我该通过什么手段禁止其他人通过Access来访问我的数据库呢? 
      

  11.   

    TO antonye(陆小凤):
    我设置数据库访问密码后,ADO无法访问我的数据库,但在ACCESS中就行,请问你所指的密码在什么地方加。
      

  12.   

    o ,shi zhe yang a .ni kan kan zhe ge ba!http://www.csdn.net/expert/topic/320/320921.shtm
      

  13.   

    suan l ,tie chu lai ba很多人都没注意,access的密码是分两种的,一种密码就是你说的给数据库加的密码,那个密码并不是在ado的'连接'那一页填写的useid和password,默认是admin和无密码,所谓的数据库密码要在‘所有‘那一页的jet oledb  databasepassword里填写。
    至于在连接那一页要填写的用户跟密码,指的是你在建立一个access数据库以后,可以用ms access workgroup administrator建立一个工作组信息文件(后缀是.mdw或.mda),然后你在数据库的工具--安全里指定、添加不同的用户,并且可以给不同的用户设置权限、密码,例如你不想给某用户修改你的数据库设计或限制某些表的读取什么的都可以在这里设置,然后在delphi的ado‘连接‘页里要填写的就是这个userid和password,没设置过就不用填的,并非ado不支持带密码的access2000 
      

  14.   

    to vernal:
    我用了你的方法,成功了,谢谢!
    接下来又出现了一个奇怪的问题,就是当我设置好ADO后没有问题,但当我在程序中为ConnectionString进行动态赋值,并将KeepConnection设为True后报错,内容如下:
    “对象打开时,操作不被允许”
    我的代码如下:with Search_ADOCon do
      begin
       FinalStr := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+ExtractFilePath(Application.ExeName);
       FinalStr := FinalStr+'Database\Drawback.mdb;Mode=Share Deny None;Extended Properties="";';
       FinalStr := FinalStr+'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=delphi;Jet OLEDB:Engine Type=5;';
       FinalStr := FinalStr+'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;';
       FinalStr := FinalStr+'Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
       ConnectionString :=FinalStr;
       Connected :=True;
      end;
    FinalStr被定义为String型
    这是为什么?
      

  15.   

    改正一下:设的是Connected属性为True;
    而且通过单步调试,ConnectionString :=FinalStr;一句执行后,FinalStr中的值并没有真正赋到ConnectionString中去,这是为什么?
      

  16.   

    单步调试 ConnectionString :=FinalStr;一句执行后,
    FinalStr就被释放了
    memo1.lines.add(Search_ADOCon.connectionstring);
    关于密码就是我一开始说得方案,你就没好好看
      

  17.   

    to newyj:
    密码的问题已经解决了,我的程序是这样的ConnectionString :=FinalStr一句执行后,FinalStr中的值并没有真正赋值到ConnectionString中去。而且只要执行到这句就报错
    “对象打开时,操作不被允许”
    这是为什么?