双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

多用户update数据时,不能保证完整性

lqmaster lqmaster 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
DataModule1.database1.StartTransaction;

with qryfree do
begin
close;
sql.clear;
sql.add('Update MZJCK set JIESUANZT=1 Where DJH= :DJH ');
parameters.ParamByName('DJH').value:=djhid;
execsql;
close;
sql.clear;
sql.add('Update MZCKDKHZ set JIESUANZT=1 Where DJH= :DJH ') ;
parameters.ParamByName('DJH').value:=djhid;
execsql;
close;
sql.clear;
sql.add('Update MZCKDK set JIESUANZT=1 Where DJH= :DJH ') ;
parameters.ParamByName('DJH').value:=djhid;
execsql;
end;

DATAMODULE1.Database1.Commit;
except
DATAMODULE1.Database1.Rollback;
application.MessageBox('数据保存错误.检查输入.','提示',mb_iconinformation+mb_ok);
exit;
end;



在上面的程序段执行后,三个数据表(SQL SERVER 20000)MZJCK、MZCKDK、MZCKDKHZ中的JIESUANZT都应为1,但说不定哪一天会出现mzjck中的JIESUANZT=1,而MZCKDK,MZCKDKHZ中的不为1,但程序运行时一点出错信息都没有。
三个表中,MZJCK中数据量是MZCKDKHZ的50%,MZCKDKHZ是购MZCKDK的50%,但更新不应和数据量的大小有关,是不是在更新时,有别的用户正在操作这三个表,才造成有的数据没有更新?
是什么原因,怎样解决呀???
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
lqmaster
数据库相关 2,508 成员 88,437 内容