您的位置:首页 > 编程语言 > ASP

Asp.Net 中通用存储过程执行方法

2007-09-10 10:47 471 查看
/// <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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: