G
Geminiyc
Unregistered / Unconfirmed
GUEST, unregistred user!
数据库为MS SQL Server 2000,代码如下——<br>dm.localdb.StartTransaction;<br> try<br> dm.query1.close;<br> dm.query1.sql.Text :='insert into x_kh (jgh,khdm) values(''1000'',''12345678'')';<br> dm.query1.execsql;<br><br> dm.Query2.close;<br> dm.Query2.sql.text:='select * from k_zhk';<br> dm.Query2.open;<br><br> dm.Query3.close;<br> dm.query3.sql.text:='select * from x_kh'; <br> dm.Query3.Open; //执行到此时,程序阻塞<br><br> ....(省略)<br> except<br> dm.localdb.Rollback;<br> end;<br><br>这段代码中3句sql用了2个Query,若改为用3个Query分别执行问题依旧,只有始终使用同一个Query才不会发生异常。若去掉事务直接执行也不会发生异常,但这样都不满足我的需要了。<br>//注意,第一个sql和第三个sql都是对同一个表执行,当它们不是对同一个表执行时也不会发生异常。