次のコードに問題があります。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();
}