【发布时间】:2011-02-16 08:46:54
【问题描述】:
下面的代码有问题。我正在将参数 (List<SqlParameter>) 传递给执行以下代码的方法。
当它执行时,SQL Server 会抛出一个错误,指出 proc 需要一个未提供的参数。我知道这个错误并理解它,当单步执行代码时,我可以看到cmdExecuteReader 对象有一组具有正确名称和值的参数。可能是什么问题?
public SqlDataReader ExecuteReader(string storedProcedure, List<SqlParameter> parameters = null)
{
SqlCommand cmdExecuteReader = new SqlCommand()
{
CommandType = System.Data.CommandType.Text,
Connection = conn,
CommandText = storedProcedure
};
if (parameters != null)
{
foreach (SqlParameter param in parameters)
{
cmdExecuteReader.Parameters.AddWithValue(param.ParameterName, param.Value);
}
}
if (conn.State == System.Data.ConnectionState.Closed)
conn.Open();
return cmdExecuteReader.ExecuteReader();
}
【问题讨论】:
标签: c# parameters sqlcommand