现在写的库存管理方面的程序,
比如一个入库操作,
新增和修改动作我在afterpost 里对现有库存进行更新。
删除动作则在before delete 里对库存进行更新。现在发现一个问题,用户每天会有上百笔的操作,会有一小部分的操作(4,5笔),没有更新库存!
代码没有问题,而我自己进行测试也都没有问题。真是搞不懂。
各位有没有遇到过类似的情况啊?不知道是不是adoconnection的属性我设得有问题?
commandtimeout 30
connectiontimeout 5
keepconnection falseadoquery没有设缓存,直接更新。
数据库SQL server ,用户厂里用局域网连接。服务器win2003 server
比如一个入库操作,
新增和修改动作我在afterpost 里对现有库存进行更新。
删除动作则在before delete 里对库存进行更新。现在发现一个问题,用户每天会有上百笔的操作,会有一小部分的操作(4,5笔),没有更新库存!
代码没有问题,而我自己进行测试也都没有问题。真是搞不懂。
各位有没有遇到过类似的情况啊?不知道是不是adoconnection的属性我设得有问题?
commandtimeout 30
connectiontimeout 5
keepconnection falseadoquery没有设缓存,直接更新。
数据库SQL server ,用户厂里用局域网连接。服务器win2003 server
adoquery1 连的是入库明细表。
用事务处理,是这样吗?
------->
try
ADOConnection1.BeginTrans;
ADOquery1.Post ;
(更新库存)...;
ADOConnection1.CommitTrans;
except
ADOConnection1.RollBackTrans;
end;
-------
但是我用dbgrid ,用户录完一笔后,鼠标点到其它记录后,就已经自动执行post 了,这里就没办法加代码控制了,该怎么办?
IF NOT adoconnectino1.instrancation then
adoconnection1.begintrans;
//....execute your commandtry
execsql;
adoconnection1.committrans;except
adoconnection1.rollbacktrans;end;