示例代码如下:        public void saveTrans(AQSCXK_insertData insertdata)
        {
            this.sqlConnection1.Open();
            SqlTransaction myTrans;
            myTrans = this.sqlConnection1.BeginTransaction("myTrans");
            try
            {
                this.sqlSelectCommand1.Transaction = myTrans;
                this.sqlInsertCommand1.Transaction = myTrans;
                this.sqlUpdateCommand1.Transaction = myTrans;
                this.sqlDeleteCommand1.Transaction = myTrans;                this.SaveAqscxkInsert(insertdata);                myTrans.Commit();
            }
            catch
            {
                myTrans.Rollback("myTrans");
                throw;
            }
            finally
            {
                myTrans.Dispose();
                this.CloseDatabase();
            }
        }以上只是示例,我们项目现在出现事务执行完毕,数据却有时候保存一部分的现象,请各位帮我分析下原因!谢谢指教

解决方案 »

  1.   

    this.SaveAqscxkInsert(insertdata); 只是将数据集进行插入另一个表的操作,没有任何复杂的逻辑,如果是逻辑出错的话,各位给举个例子!
      

  2.   

     this.sqlSelectCommand1.Transaction = myTrans;
      this.sqlInsertCommand1.Transaction = myTrans;
      this.sqlUpdateCommand1.Transaction = myTrans;
      this.sqlDeleteCommand1.Transaction = myTrans;//你的sqlCommand这里是公共变量,影响了事务的整体性!试一下方法内的局部变量