/// <summary>
/// 执行带返回参数的存储过程
/// </summary>
/// <param name="StoreProcedureName">存储过程名称</param>
/// <param name="parms">参数数组</param>
/// <param name="intPTNum" >返回参数个数</param>
public SqlParameter[] ExecuteStoreProcedure(string StoreProcedureName,SqlParameter[] parms,int intPTNum)
{
try
{
int intJ = 0;
SqlParameter[] parmsRTN = new SqlParameter[intPTNum]; //返回参数
SqlCommand objCmd = new SqlCommand(StoreProcedureName);
objCmd.Connection = this.CurrentConnection;
objCmd.CommandType = CommandType.StoredProcedure;
//增加参数
for(int i=0;i<parms.Length;i++)
{
objCmd.Parameters.Add(parms[i]);
}
objCmd.ExecuteNonQuery();
//得到返回参数
for (int i=0;i<objCmd.Parameters.Count;i++)
{
if(objCmd.Parameters[i].Direction == ParameterDirection.Output)
{
parmsRTN[intJ]=objCmd.Parameters[i];
intJ++;
}
}
return parmsRTN;
}
catch(SqlException e)
{
throw e;
}
}
/// <summary>
/// 执行返回记录集的存储过程
/// </summary>
/// <param name="StoreProcedureName">存储过程名称</param>
/// <param name="parms">参数数组</param>
public DataSet ExecuteStoreProcedure(string StoreProcedureName,SqlParameter[] parms)
{
try
{
SqlCommand objCmd = new SqlCommand(StoreProcedureName);
objCmd.Connection = this.CurrentConnection;
objCmd.CommandType = CommandType.StoredProcedure;
//增加参数
for(int i=0;i<parms.Length;i++)
{
objCmd.Parameters.Add(parms[i]);
}
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
objDataAdapter.SelectCommand = objCmd;
DataSet objDataSet = new DataSet();
objDataAdapter.Fill(objDataSet);
return objDataSet;
}
catch(SqlException e)
{
throw e;
}
}