首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于事务的有关问题,

2012-03-19 
关于事务的问题,?????????????casetlbSave :if(node.Text )break//定义事务SqlTransactionmyTrans

关于事务的问题,?????????????
case   "tlbSave ":
                if   (node.Text   ==   " ")   break;
              //定义事务
                         
    SqlTransaction   myTrans   =   KingLib.Db.conn.BeginTransaction();
                                                try
                                                {
                                                        if   (myTrans   !=   null)
                                                        {
                                                              //
                                                                   
                                                                SqlCommand   sqlComm   =   KingLib.Db.conn.CreateCommand();
                                                                sqlComm.Transaction   =   myTrans;
                                                               
                                                        }
                                                        if   (btnName   ==   "Edit ")
                                                        {
                                                              。。。操作

                                                                          myTrans.Commit();


                                                        RefreshTree();//刷新树
                                                        initButtonEnable(true);//初始化按钮和可输入项
                                                }
                                                catch   (SqlException   ee)
                                                {
                                                        myTrans.Rollback();
                                                        throw   ee;
                                                }
                                                finally
                                                {
                                                        KingLib.Db.conn.Close();
                                                }
                                                break;
                                       
                                     
                                case   "tlbQuery ":
                                        break;
                                case   "tlbClose ":
                                        this.Close();
                                        break;


                        }


提示如下错误
未处理的“System.InvalidOperationException”类型的异常出现在   System.Data.dll   中。

其他信息:   如果分配给命令的连接位于本地挂起事务中,ExecuteReader   要求命令拥有事务。命令的   Transaction   属性尚未初始化。


不知怎么回事,如何处理?谢谢

[解决办法]
是不是在RefreshTree()函数或其它的相关操作中使用数据库查询的命令?
在同一个事务范围内,所有的和SqlCommand有关的命令都应该使用并且要使用同一个事务对象。
[解决办法]
看下myTrans 是不是null?

热点排行