2 qq 23458699 qq_23458699 于 2014.12.17 10:26 提问

关于ASP.NET 调用存储过程传参数的问题

///
/// 执行存储过程
///
/// 存储过程名
/// 存储过程参数
/// SqlDataReader
public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
{
SqlConnection connection = OpenSqlConnection();
SqlCommand command = new SqlCommand();
try
{
command.CommandText = storedProcName;
command.Connection = connection;
if (parameters != null)
{
foreach (IDataParameter parm in parameters)
{
command.Parameters.Add(parm);
}
}
command.CommandType = CommandType.StoredProcedure;
if (connection.State != ConnectionState.Open)
{
connection.Open();
}
SqlDataReader returnReader = command.ExecuteReader(CommandBehavior.CloseConnection);
command.Parameters.Clear();
return returnReader;
}
catch (Exception e)
{
//e.Message;
connection.Close();
throw;
}
}

            以上是我写的调用存储过程的方法

            如我我页面上要调用存储过程去执行一个参数为1的操作   该怎么传这个参数呢

2个回答

save4me
save4me   Ds   Rxr 2014.12.17 10:57
已采纳

IDataParameter[] parameters = new IDataParameter[1];
parameters[0] = new Parameter("@参数名称", DbType.Int32, 1);
RunProcedure("存储过程名称", parameters);

save4me
save4me 不客气,很高兴问题解决了。如果你对回答满意,请顶一下并标记为答案,谢谢!
大约 3 年之前 回复
qq_23458699
qq_23458699 谢谢 弄好了
大约 3 年之前 回复
q107770540
q107770540   Ds   Rxr 2014.12.17 10:31
 IDataParameter[] parameters = new IDataParameter[]{ new SqlParameter(...) }

RunProcedure("storename",parameters);
qq_23458699
qq_23458699 new SqlParameter(...)里面能写给我看看吗
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!