我看到文章上说尽管这是一个简单的示例,但它还是充分显示了在.NET应用程序中使用事务处理是多么的简单。请记住,事务处理只有在处理一组命令时才是必要的。然而我确看到有人对存储过程加ado.net事务,为什么啊
   public void _AddCRMCoFinancePerson(out string strMessage, int nCRMCompanyID, string strFinancePersonName, string strFinanceNumber, string strFinancePhone)
        {
            SqlConnection connection = new SqlConnection(_GlobalClass._strConn);
            connection.Open();
            SqlTransaction transaction = connection.BeginTransaction();
            SqlCommand command = new SqlCommand("P__CRM_AddCRMCoFinancePerson", connection);
            command.Transaction = transaction;
            try
            {
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.Add("@Message", SqlDbType.NVarChar, 0x3e8).Direction = ParameterDirection.Output;
                command.Parameters.Add("@CRMCompanyID", SqlDbType.Int).Value = nCRMCompanyID;
                command.Parameters.Add("@FinancePerson", SqlDbType.NVarChar, 30).Value = strFinancePersonName;
                command.Parameters.Add("@FinanceNumber", SqlDbType.NVarChar, 80).Value = strFinanceNumber;
                command.Parameters.Add("@FinancePhone", SqlDbType.NVarChar, 30).Value = strFinancePhone;
                command.Parameters.Add("@OpId", SqlDbType.Int).Value = base.nMyPersonId;
                command.Parameters.Add("@CoId", SqlDbType.Int).Value = base.nCoID;
                command.ExecuteNonQuery();
                strMessage = command.Parameters["@Message"].Value.ToString();
                transaction.Commit();
            }
            catch (Exception exception)
            {
                strMessage = "发生数据库错误,请于管理员联系( " + base._FormatMessage(exception.Message.ToString()) + " )";
                transaction.Rollback();
            }
            connection.Close();
        }存储过程却没有加任何事务
         CREATE PROCEDURE P__CRM_AddCRMCoFinancePerson@Message nvarchar(1000) output,
@CRMCompanyID int,
@FinancePerson nvarchar(30),
@FinanceNumber nvarchar(80),
@FinancePhone nvarchar(30),
@OpId int ,
@CoId intAsset nocount on--初始值set @Message = ''if not exists( select * from _CRM_Company where CRMCompanyID = @CRMCompanyID and IsDel = 0 )
begin
set @Message = '非法!提供参数出错!该客户公司可能已被删除!'
return
end--主程序insert into _CRM_Company_FinancePerson( FinancePersonName, FinancePhone, FinanceNumber, CRMCompanyID, OpId, CoId )   
values( @FinancePerson, @FinancePhone, @FinanceNumber, @CRMCompanyID, @OpId, @CoId )

if @@rowcount = 0 
begin
set @Message = '添加财务联系人失败!'
end
set nocount offGO