我又发现一个奇怪的问题,缓存更新中,记录已经applyupdates,提交了。这个记录怎么能 cancdlupdates, 回到修改前的样了,不过记录还在数据库表中。cancdlupdates 应该是
解决方案 »
- 报表导EXCEL中,的问题
- 用TWordApplicaton组件初始化Word文件,并与模板文件关联,下面的代码显示错误参数,请指教?
- Kao!! 想起来了,今天我生日,散!! 嘿嘿 JR们接分啦~~~
- 收罗程序员测试软件的心得和各种测试软件以及测试软件的用法
- Delphi如何去获取SQL 2K的所有客户建立的表名啊?谢谢!
- 在先等待-50分 怎么在TForm1.RichEdit1Change获取光标在RichEdit的行号
- 如何才能打包realplayer的Active控件呢?
- DELPHI主程序的参数是什么时候指定的,如何定义?它具有什么作用?
- Delphi 编译发布问题!
- 在获知两台在线的计算机IP后(分别连上internet),是否可以像局域网一样使用sql server,来实现数据的共享
- 怎样建立一个有纵列、横行的表?(用微软的Access)且在DBGird里显示出来.
- quiz about flat style ?
都是没用的
这个问题好了。 good 还有个问题缓存删除的问题。
query2是缓存数据集,假如我添加十个空记录,当我提交记录applyupdates时,想把没有输入记录先删除,再applyupdates提交记录,怎么办?
while not dmsl.query2.Eof do
if (dmsl.query2['shul']='') then
begin
dmsl.query2.delete;
end;
以上程序是错误的。
2.应当在记录post时检查输入记录的合法性,不要在applyupdates时做。
while dsgnintf.pas.locate('shul','',[]) do
delete;
然后applyupdates。
这是不是你想要的?
locate好象针对table
路漫漫其路远也。最近我没有其他事情。拾起以前程序继续写起来。不知何时修成正果。我正在努力中其中,在这当中我要感谢各位无私的教诲!。分当然不是主要的,认识这么多朋友真高兴!请大家继续关注我的贴子。我想我现在真离不开大家。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; 这个事务怎么不执行。
to回复人: TWWH() ( ) 信誉:100
while dmsl.query2.locate('shul','',[])then
begin
dmsl.query2.delete;
end;
shul为数值类出错。请教各位。