ADO批量提交問題?
各位老大,我用Delphi 5.0+ADO+SqlServer,當ADO采用批量處理時,如何判斷緩沖區中還有尚未提交的數据,
或者根本沒有需要提交的數据,換一种說法就是怎樣判斷緩沖區數据的狀態呢?
问题点数:20、回复次数:10Top
1 楼newsailor(老King)回复于 2002-09-28 17:00:45 得分 0
還望各位大蝦賜教,Thanks in advance!Top
2 楼newsailor(老King)回复于 2002-09-28 17:09:57 得分 0
看來問題要拖到周一去了,如果哪位大蝦回答了,再加分,周末愉快!Top
3 楼zlb_zc(zlb_zc)回复于 2002-09-28 18:39:34 得分 8
if adoquery1 in [dsedit,dsinsert] then
begin
...
end;Top
4 楼newnewworm(蜡笔小新)回复于 2002-09-28 18:49:58 得分 1
李维的书中似乎有这方面的资料!Top
5 楼newsailor(老King)回复于 2002-09-30 08:35:36 得分 0
謝謝各位的關注,up!Top
6 楼newsailor(老King)回复于 2002-09-30 08:55:41 得分 0
To newnewworm:
李維的書我現在手頭上沒有,也沒有看過,大哥能不能說說簡單的代碼
實現方法或者一個思路也行,謝了先.Top
7 楼bbh2002(渔夫之宝)回复于 2002-09-30 09:01:23 得分 1
应该使用存储过程,要么都提交,要么都不提交。Top
8 楼allan2002(丸子)回复于 2002-09-30 09:03:51 得分 4
在use中use db ,然后在语句中加入以下判断就可以了!
if adoquery1.state in [dsedit,dsinsert] then
begin
...
end;Top
9 楼chenjun(赤狼风云)回复于 2002-09-30 09:28:02 得分 1
可以通过判断ClientDataSet的ChangeCount属性值
Top
10 楼wushenjian(生活在远方)回复于 2002-09-30 11:20:27 得分 5
如果使用ADO进行批量处理时,建议套在Transaction中,
这样在提交事务的时候,系统会更新缓存中的数据。
换句话说,这些比较底层事情ADO会管理,通常不用程序员干预。
如果使用ClientDataset,那么可以在BeforeUpdateRecord事件处理
中,设定其中的Applied参数为True,那么Datasetprovider就会自动
更新数据。
所以我觉得不用过多的考虑这个问题。Top




