首页 新闻 赞助 找找看

OracleTransaction问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2011-08-19 12:19

using (OracleConnection conn = new OracleConnection(OracleHelper.Connection_String))

{

conn.Open(); using (OracleTransaction trans = conn.BeginTransaction())//出错了:“未将对象设置引用到实例”,但程序会继续执行下去,最终下面的Insert()方法无法完成插入

{

try

{

freightBill.PkId = Insert(trans,freightBill, mPay);

 }

catch (Exception ex)

{

trans.Rollback();

 }

}

 }

问题补充:
问题解决了:把OracleTransaction trans = conn.BeginTransaction()改成OracleTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted)就行了。
不加参数默认应该就是IsolationLevel.ReadCommitted,但是不知道为什么执行的时候就不一样了?继续探讨ing……
Alec-Yin的主页 Alec-Yin | 初学一级 | 园豆:188
提问于:2011-08-18 10:22
< >
分享
所有回答(2)
0

conn 是否Open了呢

Mr雨 | 园豆:1199 (小虾三级) | 2011-08-18 10:25
open了,执行OracleTransaction trans = conn.BeginTransaction()的时候,连接始终始终是打开的。
支持(0) 反对(0) Alec-Yin | 园豆:188 (初学一级) | 2011-08-18 10:26
具体看不到代码,不好调,改用 transactionscope 来控制事务吧
支持(0) 反对(0) Mr雨 | 园豆:1199 (小虾三级) | 2011-08-18 11:16
0

你在csdn也问了吧?

顾晓北 | 园豆:10844 (专家六级) | 2011-08-18 12:18
恩,一直在线等待,很着急啊
支持(0) 反对(0) Alec-Yin | 园豆:188 (初学一级) | 2011-08-18 15:59
我看csdn的回答,你应该加断点到那个出错的那一句代码上面,然后看是谁为空了。
支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2011-08-18 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册