G
Geminiyc
Unregistered / Unconfirmed
GUEST, unregistred user!
以下事务里面用到了2个不同的Query,但执行到query2.open时程序死机。<br>如果不要事务(StartTransaction),可以顺利的直接执行;<br>或者在运行query2前关闭query1(query1.close)也可以顺利执行<br>但这样就都不能满足我后续程序的处理了<br>没有搞懂原因<br><br>(数据库是sql server2000,以前同样的代码用oracle都没有问题,怪得很)<br>.<br>dm.localdb.StartTransaction;<br> try<br> with dm.query1 do<br> begin<br> close;<br> sql.Text :='insert into table1 (jgh) values(''1002'')';<br> execsql;<br><br> close;<br> sql.text:='select * from table2';<br> open;<br> //close; //添加后正常<br><br> while not eof do<br> begin<br> dm.Query2.close;<br> dm.Query2.sql.text:='select * from table1' <br> dm.Query2.Open; //执行到此,程序死机<br><br> .......(要用到query1的查询内容)<br><br> next;<br> end;<br> dm.localdb.commit;<br> end<br> except<br> dm.localdb.Rollback;<br> end;