SqlDataAdapter MyDataAdapter;
MyDataAdapter=new SqlDataAdapter (SqlStr,CommConnection);
SqlCommandBuilder MyBuilder=new SqlCommandBuilder(MyDataAdapter) ;
DataSet MyDataSet2=new DataSet ();
                           //开始事务处理
SqlTransaction MyTrans1;
MyTrans1=CommConnection.BeginTransaction ();
try
{
MyTrans1=MyDataAdapter2.InsertCommand.Transaction ; //
MyDataAdapter.Fill (MyDataSet,"tmptable");
                                     .......
MyDataAdapter.Update (MyDataSet);
MyTrans1.Commit ();
                            }
                            catch
                            {
                                    MyTrans1.Rollback();
                            }
执行到 MyTrans1=MyDataAdapter2.InsertCommand.Transaction ;时出错,提示" 未将对象引用设置到对象的实例";请问如何解决?****************************
SqlDataAdapter.upDate的事务处理与SqlCommand的事务处理有何区别?

解决方案 »

  1.   

    MyTrans1=MyDataAdapter2.InsertCommand.Transaction ; //
    -------------------------------------------------------->
    MyDataAdapter2.InsertCommand.Transaction =MyTrans1 ;
      

  2.   

    to(AllenTing)
    这样也是不行的,同样的错误提示
      

  3.   

    当你用 SqlCommandBuilder 时 MyDataAdapter2.InsertCommand 在 update 方法外面它是 null的。  你还是自己去构造  insertcommand 吧。
      

  4.   

    但是SqlDataAdapter.Update方法是支持事务处理的呀,难道没有人用过这种事务处理的方法吗?