我不确定如何正确完成此操作 - 我有一个存储过程,我想将结果作为IEnumberable返回
public IEnumerable GetGuids(int id)
{
SqlCommand _command = new SqlCommand("storedProc");
_command.CommandType = CommandType.StoredProcedure;
_command.Parameters.AddWithValue("@ItemID", id);
return _command.ExecuteReader();
}
当我运行时,我得到:ExecuteReader: Connection property has not been initialized.
答案 0 :(得分:4)
您的SqlCommand没有相应的连接。使用:
_command.Connection = conn;
或使用conn.CreateCommand(...)
答案 1 :(得分:1)
使用SqlConnection初始化SqlCommand并确保SqlConnection已打开。 之后,ExecuteReader提供了一个SqlDataReader,您必须通读读取器并读取值
SqlDataReader reader = _command.ExecuteReader();
while(reader.Read()
{
// readvalue of reader["columname"] and insert into a list or yield return it.
}
答案 2 :(得分:0)
传递连接对象,如GetGuids(int id, SqlConnection conn)
SqlCommand cmd = new SqlCommand ("query", conn);