悬赏园豆:10
[已关闭问题]
关闭于 2007-12-26 11:39
<STRONG><FONT size=5><FONT size=3>在執行事務時,發生下面錯誤,哪位大蝦遇到過,賜教一二:<BR>ORA-01453: SET TRANSACTION 必須是交易中的第一個敘述句</FONT> </FONT></STRONG>
<H2><FONT size=3>代碼如下:</FONT></H2>
<P>using(OracleConnection conn = new OracleConnection(new ConnDBString.ConnDBStringConfig()["4"]))<BR> {<BR> conn.Open();<BR> OracleTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);<BR> <BR> OracleCommand cmd = new OracleCommand("SELECT * FROM DUAL");<BR> cmd.Connection = conn;<BR> cmd.Transaction = trans;<BR> try<BR> {<BR> cmd.ExecuteNonQuery();<BR> cmd.CommandText = "SELECT * FROM DUAL";<BR> cmd.ExecuteNonQuery();<BR> trans.Commit();<BR> }<BR> catch(Exception ex)<BR> {<BR> trans.Rollback();<BR> throw new Exception(ex.Message);<BR> } </P>
<P>}</P>
问题补充:
同一句sql執行兩次和執行select,只是在測試事務!
我已經初步知道哪里出錯了,但是不知道為什么會出錯。
那位大俠知道,請賜教!
錯誤是在我把事務隔離級別(transaction isolation level)設置為
ReadCommand。
語句如下:OracleTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
用頁面測試就會出錯!
陳龑
|
菜鸟二级
|
园豆:
215
提问于:2007-12-08 09:53