我有两个问题在操作数据库时用del方法后出现两个问题,返回如下两种错误:
1   缺少正确的键列信息,更新影响到过多的行。
2   无法为更新行集定位:此值可能已在最后读取后改变。
请问这两种错误为什么会发生?有何影响?如何消除?
下面是那几句代码:
 Adodc1.Recordset.Delete  ‘在这一行发生错误
 Adodc1.Recordset.Update
 Adodc1.Recordset.MoveNext
(Adodc1是一个ADO控件)还有一个问题是:
我用了一个ADO控件和一个datagrid控件,如何才能在用了del方法删除一行数据后datagrid显示的内容进行更新?

解决方案 »

  1.   

    使用ado对象而不用ado控件的方式会更灵活也更方便。
    最大的好处是没你那个问题,占用的资源也少一些。
      

  2.   

    出错的原因是SQL引擎不能正确判断操作的行,这是因为没有关键字的缘故。
      

  3.   

    加关键字,然后DATAGRID孔件刷新
      

  4.   

    建议不要用adodc1用记录集做
      

  5.   

    如果在多表查询的情况下会出现此问题。
    最好有SQL语句自己处理级联删除问题。