我用ADOQuery1.UpdateBatch(Arall);保存记录时。出现“键列信息不足或不正确。更新影响到多行。”的错误提示!但是有时候又没有!又能正常保存!

解决方案 »

  1.   

    我在SQL中碰到这类情况的,可能是因为有多条完全相同的记录,你更新其中一条是就会出现这个提示。写SQL语句如:“update TableName set FieldName = 1 where FieldName = 2 ”一般就不会出现这个提示。
      

  2.   

    开启你得sqlserver 跟踪器,看看它产生得是什么sql句子
      

  3.   

    你的主键是自增列,表中存在插入的记录.
    如果是插入记录的话.建议先判断是否存在该记录另:若是自增列.可用下面的插入方法sql.add('SET IDENTITY_INSERT TABLE1 on  insert into TABLE1 (ID、name) values('''+edit1.text+''','''+edit2.text+''') SET IDENTITY_INSERT TABLE1 OFF');