我的连接字符串 dbfconnstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;'+
'Data Source='+路径+';'+
'Mode=ReadWrite;'+  
'Extended Properties=paradox 7.x;'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password="jIGGAe";'+
'Jet OLEDB:Engine Type=83;'+
'Jet OLEDB:Database Locking Mode=0;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="jIGGAe";'+
'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;';
现在的问题是,数据可以访问,但是不能增删改,报“操作必须使用一个可更新的查询”,该文件是有索引的!
另外,数据是有密码的,我使用的通用密码“jIGGAe”,不知道有没有影响

解决方案 »

  1.   

    1)可以访问表示口令密码没有错误
    2)你的查询ADOQuery是否是可修改的?
      

  2.   

    locktype是“ltOptimistic”,应该没什么问题啊,我怀疑是不是delphi7的Ado的问题,但是也找不到delphi7的Ado的升级包
      

  3.   

    用bde就没有问题,可用的话,要给客户安装bde,不方便啊,难道Ado就不可以么?
      

  4.   

    可是数据库不是自己的,口令不知道,只能用通用密码,问题是bde可以,而Ado不可以!
      

  5.   

    修改 文件的属性>>安全,添加Everyone 权限是所有都允许,看看行不行?
      

  6.   

    BDE可以的话,ADO应该也不会有问题,
    是不是用ADO实现在哪里出了问题.
      

  7.   

    修改 文件的属性>>安全,添加Everyone 权限是所有都允许,看看行不行?我也试了,还是不行啊。受不了了!
      

  8.   

    还是用bde搞定了,Ado咋就不行呢
      

  9.   

    http://dev.csdn.net/develop/article/59/59381.shtm
    楼主去看下这个帖子 会有帮助的