路漫漫其路远也

xh_hero 2002-10-02 07:26:35
缓存删除的问题。
query2是缓存数据集,假如我添加十个空记录,当我提交记录applyupdates时,想把没有输入记录先删除,再applyupdates提交记录,怎么办?
while not dmsl.query2.Eof do
if (dmsl.query2['shul']='') then
begin
dmsl.query2.delete;
end;
以上程序是错误的。
我搞的是销售主,从表录入,从表当然是一次添加多个空记录,我采用是缓存处理。主从表录好后一起提交。当我提交记录时,想把没有输入记录先删除,再提交记录。
路漫漫其路远也。最近我没有其他事情。拾起以前程序继续写起来。不知何时修成正果。我正在努力中其中,在这当中我要感谢各位无私的教诲!。分当然不是主要的,认识这么多朋友真高兴!请大家继续关注我的贴子。我想我现在真离不开大家。CSDN真是个大家庭。

在这个销售主、从表录入表单中。主从表我是分开提交的
dmsl.query1.database.applyupdates([dmsl.Query1]);
dmsl.Query2.Database.ApplyUpdates([dmsl.query2]);
增加,修改,删除基本能行。就是以上一次删除多条空记录有点问题。还有的问题,我想把整个过程封装在事务中,主、从表添加一起提交,出错就回滚。
怎样把整个过程封装在事务中,
dmsl.database1.starttransaction;
try
//dmsl.Query1.Post;
//dmsl.Query2.Post;
dmsl.query1.database.applyupdates([dmsl.Query1]);
dmsl.Query2.Database.ApplyUpdates([dmsl.query2]);
dmsl.Database1.Commit; //出错
except
dmsl.database1.Rollback;

Messagedlg('操作失败!',mtwarning,[mbOK],0);
end;

这个事务怎么不执行。


...全文
46 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggdw 2002-10-03
  • 打赏
  • 举报
回复
ok


##############################################
# 我是菜鸟,我怕谁?菜鸟程序员联盟欢迎你~ #
# QQ:16730133 #
# MSN:GGDW2002@HOTMAIL.COM #
# 这里是菜鸟汇聚的地方,不是菜鸟请勿入 #
# http://soft.at.9966.org #
# email:gao@jscz.edu.cn #
##############################################
xh_hero 2002-10-03
  • 打赏
  • 举报
回复
最一个问题解决了
while dmsl.query2.locate('shul','',[])then
begin
dmsl.query2.delete;
end;
shul为数值类出错。请教各位。
紫郢剑侠 2002-10-02
  • 打赏
  • 举报
回复
up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧