DELPHI中出现了无法为更新定位行,一些值可能已在最后一次读取后已更改"S的警告

我添加一条新记录并保存后,然后修改或删除该任何一条记录都报出这样的错误,另外,我sqlserver数据库中是有触发器的,我想不删除触发器的前提下解决这个问题,怎么解决啊,... 我添加一条新记录并保存后,然后修改或删除该任何一条记录都报出这样的错误,另外,我sqlserver数据库中是有触发器的,我想不删除触发器的前提下解决这个问题,怎么解决啊,谢谢了。请大神帮忙 展开
 我来答
水月星华
2014-04-08 · TA获得超过1781个赞
知道小有建树答主
回答量:1433
采纳率:58%
帮助的人:347万
展开全部
保存之后,重新刷新数据看看;

或者是你修改了主键值,引起了行定位错误;
触发器,不要重写之前的表,容易出错。
你可以把触发器要执行的任务修改成一个存储过程,然后在进行数据修改的时候,执行成功之后再执行该过程试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
土豆快跑吧4E
2014-04-08
知道答主
回答量:13
采纳率:0%
帮助的人:8万
展开全部
1、是否有日期字段?如果有的话请不要在数据库中设置默认值,而是通过Delphi来赋默认值,因为在数据库中生成的日期值带毫秒,而delphi的日期字段是不带的,因此极有可能日期值不一样;
2、是否自动ID号?如果有且是用clientdataset的话,需要刷新数据集,因为ClientDataset不能自动获取ID号。
PS:可以通过事件控查器分析SQL语句,看看其与相关记录之间值的区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiuyan20121
2014-04-08 · 超过10用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:18.5万
展开全部
在修改之前先刷新一下数据!
更多追问追答
追问
不行啊,我刷新了还是这样
追答
你怎么刷新的?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式