1.假定一次提交3个表,1个主表1条记录,2个子表各3条记录,子表用DataGrid实现。
那么建立3个执行insert的存储过程,这3个存储过程要在事务之中一起实现。
    myConn.Open ();
    SqlCommand mySelectCommand=new SqlCommand();
    SqlTransaction myTran;
    myTran=myConn.BeginTransaction();
    mySelectCommand.Connection =myConn;
    mySelectCommand.Transaction =myTran;
//事务开始
    mySelectCommand.CommandText =SQL_Proc_A;
    mySelectCommand.CommandType =CommandType.StoredProcedure ;
    mySelectCommand.Parameters.Add (new SqlParameter ("@A1",SqlDbType... ));
    mySelectCommand.Parameters ["@A1"].Value =A1;    
    mySelectCommand.ExecuteNonQuery ();
//1个
    mySelectCommand.CommandText =SQL_Proc_B;
    mySelectCommand.CommandType =CommandType.StoredProcedure ;
    mySelectCommand.Parameters.Clear();
    mySelectCommand.Parameters.Add (new SqlParameter ("@B1",SqlDbType... ));
    mySelectCommand.Parameters ["@B1"].Value =B1;    
    mySelectCommand.ExecuteNonQuery ();
//2个
    mySelectCommand.CommandText =SQL_Proc_C;
    mySelectCommand.CommandType =CommandType.StoredProcedure ;
    mySelectCommand.Parameters.Clear();
    mySelectCommand.Parameters.Add (new SqlParameter ("@C1",SqlDbType... ));
    mySelectCommand.Parameters ["@C1"].Value =C1;    
    mySelectCommand.ExecuteNonQuery ();
//3个
   try
    {
     myTran.Commit();
    myConn.Close ();
    }
    catch(Exception ex)
    {
     myTran.Rollback ();
     throw new ApplicationException("Tran Error:"+ex.Message);
    }
//事务结束

相关文章:

  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2022-01-03
  • 2022-01-02
  • 2021-11-27
猜你喜欢
  • 2021-08-23
  • 2022-12-23
  • 2021-04-23
  • 2021-12-05
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案