在中间层提交对数据库的修改,
包含在事务中,该怎样做好些?用connection.BeginTransaction吗?
接下来如何做呢?

解决方案 »

  1.   

    .net和数据库都提供事务啊,你找一下msdn和数据库的帮助文档都有例子的,查一下就得了
      

  2.   

    begin后用返回的事务赋给Command即可。
      

  3.   

    to LinFengCyl(林风) :
    你说的正是我想知道的,
    是这样吗:
    启动事务
    this.sqlDataAdapter1.InsertCommand.Transaction = 
    this.sqlConnection1.BeginTransaction();
    修改数据
    this.sqlDataAdapter1.Update()
    提交事务
    this.sqlDataAdapter1.InsertCommand.Transaction.Commit()
    或者回滚事务
    this.sqlDataAdapter1.InsertCommand.Transaction.Rollback()数据有修改由删除有新增,有UpdateCommand、InsertCommand、DeleteCommand
    可以都只用InsertCommand或者其中之一就可以了吗?
      

  4.   

    随手写点伪码:
    Transaction myTransaction = this.sqlConnection1.BeginTransaction();
    insertcommand.transaction = mytransaction;
    updatecommand.transaction = mytransaction;
    deletecommand.transaction = mytransaction;
    try
    {
        // UPDATE
    }
    CATCH
    {
        ROLLBACK
    }
      

  5.   

    潜水这么久也要出点力气呀.....
    Private void SavechangesDate(DataSet mds,String SeleStr)
    {
        DataSet tempdatset=mds.GetChanges(); 
    SqlDataAdapter da=new SqlDataAdapter(SeleStr,mycon); 

                SqlCommandBuilder mycombu=new SqlCommandBuilder(da);

    da.UpdateCommand=mycombu.GetUpdateCommand();
    da.InsertCommand=mycombu.GetInsertCommand();
    da.DeleteCommand=mycombu.GetDeleteCommand();  
    mycon.Open(); 
    SqlTransaction mytran=mycon.BeginTransaction();
    da.UpdateCommand.Transaction=mytran;
    da.InsertCommand.Transaction=mytran;
    da.DeleteCommand.Transaction=mytran;

    try



                           
    int reerrcount=da.Update(tempdatset,"ryinfo");  
    mytran.Commit(); 
    tempdatset.AcceptChanges();
    mycon.Close(); 
    }
    catch(Exception ee)
    {
     
    mytran.Rollback(); 
    tempdatset.RejectChanges();
    mycon.Close();
                
    }
    }
      

  6.   

    http://community.csdn.net/Expert/topic/3896/3896245.xml?temp=.5270349