ado更新access数据报错,该如何解决

ado更新access数据报错程序描述如下:服务端:DataSetProvider1- ADODataSet1- ADOConnection1数据库连接

ado更新access数据报错
程序描述如下:
服务端:
DataSetProvider1-> ADODataSet1-> ADOConnection1
数据库连接参数:Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=db.mdb;

客户端:
DBGrid1-> DataSource1-> ClientDataSet1-> DataSetProvider1
数据在DBGrid1中修改。

更新数据代码:
  if   ClientDataSet1.ChangeCount   <1   then
        exit;
    ClientDataSet1.ApplyUpdates(-1);

报错提示:Record   not   found   or   changed   by   another   user.

有时候能更新,再更新就报错了,这是什么原因?谢谢


[解决办法]
1.表一定要设主键
2.字段不要设默认值,也不要有自增字段