zoukankan      html  css  js  c++  java
  • delphi ADOQUery中错误解决方法"无法为更新定位行。一些值可能已在最后...

    使用delphi中的ADOQuery控件中自带的,insert ,edit,delete此操作时,有时会出现下面的错误提示,提示错误信息:"无法为更新定位行。一些值可能已在最后一次读取后已更改。" 此解决方案:
    出现的原因:
     
    1.可能是修改的时候在其它地方已经重新修改过此数据集中的某些字段信息,例如我在上传文件时,修改了某表中的文件名称和文件路径,由于没有注意到,所以在修改数据,并再一次选择上传文件时,就会报出此错误;
     
    2.数据库中的表没有主键;
    3.在数据库设计时,为某些字段设置了默认值,在修改进行提交以后,数据库会自动修改对应字段的所有行的默认值,从而导致了数据库与数据集中数据的不一致,使ADOQuery无法对数据集进行定位。"
     
    解决方法:
     
    1.把数据集重新关闭,再打开,如ADOQuery.close;ADOQuery.open;然后再执行Adoquery.post,完成后,也可以执行 ADOApply.Refresh或 ADOApply.Requery; 视情况而定;
    2.修改数据库设计,不再设置默认值,为数据库表定义主键,保证其唯一性。
    3.在执行完ADOQuery.Post之后,执行ADOQuery.Refresh,对于设置默认值的情况可以解决。
  • 相关阅读:
    PHP获取今天、昨天、明天的日期
    PHP使用Apache中的ab测试网站的压力性能
    php 数组操作
    ajax实时获取下拉数据
    php微信支付测试开发(流程已通)
    微信支付调用JSAPI缺少参数:timeStamp
    JS dom最常用API
    Javascript刷新页面的几种方法
    php+mysql 安全
    隐式的类类型转换
  • 原文地址:https://www.cnblogs.com/jijm123/p/11468497.html
Copyright © 2011-2022 走看看