使用了SqlHelper,如何让它回滚,如何取回返回值

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

SqlConnection CS;

CS = new SqlConnection(m_strConnectionString);

SqlTransaction DBTransaction = null;

string p_strReturnMessage = "";

int p_intOutPut = 0;

try

{

#region Populate Parameters

System.Data.SqlClient.SqlParameter[] arParams = new System.Data.SqlClient.SqlParameter[4];

arParams[0] = new System.Data.SqlClient.SqlParameter("@intOrganizeID", System.Data.SqlDbType.Int);

arParams[1] = new System.Data.SqlClient.SqlParameter("@strMacAddress", System.Data.SqlDbType.VarChar, 256);

arParams[2] = new System.Data.SqlClient.SqlParameter("@strMacCheck", System.Data.SqlDbType.VarChar, 256);

arParams[3] = new System.Data.SqlClient.SqlParameter("@intOutPut", System.Data.SqlDbType.Int);

arParams[3].Direction = System.Data.ParameterDirection.Output;

arParams[0].Value = 1;

arParams[1].Value = "111";

arParams[2].Value = "111";

arParams[3].Value = p_intOutPut;

#endregion

#region Execute SQL

CS.Open();

DBTransaction = CS.BeginTransaction();

SqlHelper.ExecuteNonQuery(DBTransaction, CommandType.StoredProcedure, "pro_T_Accredit_Create", arParams);

p_intOutPut = Convert.ToInt32(arParams[3].Value.ToString());

#endregion

#region Check Result

if(p_intOutPut < 0)

{

DBTransaction.Rollback(); //--回退事务

}

else

{

DBTransaction.Commit(); //--提交事务

}

#endregion

}

catch(System.NullReferenceException NullEx)

{

DBTransaction.Rollback(); //--回退事务

}

catch(Exception ex)

{

DBTransaction.Rollback(); //--回退事务

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航