tab_Order.Active:=true;
tab_Order.Locate(...]);//锁定记录
tab_Order.Edit;
tab_Order.FieldByName('FHRQ').Value:=DateToStr(DateTimePicker1.Date);
tab_Order.Post;
但在执行更新时总是出现nested transactions not supported的错误。但我的tab_Order是单独对一张表打开的,也试过的用exclud=true,但都不行,有没有谁知道什么原因啊!
tab_Order.Locate(...]);//锁定记录
tab_Order.Edit;
tab_Order.FieldByName('FHRQ').Value:=DateToStr(DateTimePicker1.Date);
tab_Order.Post;
但在执行更新时总是出现nested transactions not supported的错误。但我的tab_Order是单独对一张表打开的,也试过的用exclud=true,但都不行,有没有谁知道什么原因啊!
解决方案 »
- 新手请教大侠们:使用SPCOMM控件中发送数据的问题。。。^_^
- 高分或者现金 求贝叶斯文本分类算法
- 如何更改已编译的可执行文件的字符串资源?
- 为什么我写的组件没有在控件页上显示?
- 请问,如何动态的在FastReport预览时设置纸张的大小和页边距?
- 一个关于PC Anywhere 的问题,高手请进,谢谢 ......
- 菜鸟问题:form1:=Tform1.create(nil)和form1:=Tform1.create(self)有什么不同吗?参与者有分
- StatusBar和OpenDialog的两个问题
- 求救:QReport打印的问题?
- 请问怎么在sql2k中创建带参数的视图
- Timage...如何改变大小?
- 我怎样在自定义的过程中调用窗体的过程
似乎我在delphi的新闻组中看到过,好像是锁的问题,设为Client,sorry太久远了,忘记了
thanks to: firetoucher给了我一点思路,我刚查了一下,问题可能在DataMd.Database.StartTransaction,DataMd.Database.Commit;
这里,但原码太长了,我只给出结构:
begin
try
DataMd.Database.StartTransaction;
table1.Active:=true;
table1.Locate(......);
table1.Edit;
table1.FieldByName('FHRQ').Value:=DateToStr(DateTimePicker1.Date);
table1.Post;
DataMd.Database.Commit;
except
DataMd.Database.rollback;
end;
end;
有没有谁能解释一下怎么回事吗?
你最好先测试一下事务有否在运行datamd.database.intransaction,如正在运行则退出。
if DataMd.Database.InTransaction then
DataMd.Database.commit;
DataMd.Database.StartTransaction;