我想用ado.net的事务,还要用含有输入参数的存储过程。小弟谢先了~!

解决方案 »

  1.   

    SqlTransaction myTran=myCon.BeginTransaction(IsolationLevel.ReadCommitted); 
    怎么写啊?感觉c#要比sql的好吧?
      

  2.   

    SqlConnection cnn = new SqlConnection("connect string");
    SqlCommand cmdInsert = new SqlCommand("InsertData", cnn);
    cmdInsert.CommandType = CommandType.StoredProcedure;
    cmdInsert.Parameters.Add("@id", "101");
    cmdInsert.Parameters.Add("@name", "mike");SqlCommand cmdUpdate = new SqlCommand("UpdateData", cnn);
    cmdUpdate.CommandType = CommandType.StoredProcedure;
    cmdUpdate.Parameters.Add("@id", "101");
    cmdUpdate.Parameters.Add("@name", "jack");SqlTransaction trn = cnn.BeginTransaction();
    cmdInsert.Transaction = trn;
    cmdUpdate.Transaction = trn;try
    {
    cmdInsert.ExecuteNonQuery();
    cmdUpdate.ExecuteNonQuery();
    trn.Commit();
    }
    catch
    {
    trn.Rollback();
    }
      

  3.   

    sorry
    SqlConnection cnn = new SqlConnection("connect string");
    SqlCommand cmdInsert = new SqlCommand("InsertData", cnn);
    cmdInsert.CommandType = CommandType.StoredProcedure;
    // or: SqlCommand cmdInsert = new SqlCommand("insert into table1 values(@id,@name)", cnn);
    cmdInsert.Parameters.Add("@id", "101");
    cmdInsert.Parameters.Add("@name", "mike");SqlCommand cmdUpdate = new SqlCommand("UpdateData", cnn);
    cmdUpdate.CommandType = CommandType.StoredProcedure;
    // or: SqlCommand cmdUpdate = new SqlCommand("update table2 set name=@name where [id]=@id", cnn);
    cmdUpdate.Parameters.Add("@id", "101");
    cmdUpdate.Parameters.Add("@name", "jack");cnn.Open();
    SqlTransaction trn = cnn.BeginTransaction();
    cmdInsert.Transaction = trn;
    cmdUpdate.Transaction = trn;try
    {
    cmdInsert.ExecuteNonQuery();
    cmdUpdate.ExecuteNonQuery();
    trn.Commit();
    }
    catch
    {
    trn.Rollback();
    }
    finally
    {
    cnn.Close();
    }
      

  4.   

    存储过程序中可以用SQL操作多个数据库!