我对以下代码有疑问。我将参数 ( 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();
}