DbDataReader错误:读取器关闭时调用Read的尝试无效

本文关键字:Read 调用 无效 错误 读取 DbDataReader | 更新日期: 2023-09-27 18:25:23

嗨,我正试图从一个方法返回DataReader,但它在那里返回了一个关闭的DbDataReader对象。任何解决这个问题的想法。我愿意接受任何改进代码的建议。

感谢

更新我不想打开数据库连接。在关闭连接后,是否有任何方法可以返回打开的DataReader。

internal DbDataReader ExecuteReader(SqlCommand command, CommandBehavior behavior, string connectionString)
  {
    DbDataReader dataReader = null;
    try
    {
      SqlConnection connection = GetConnection(connectionString);
      Open(connection);
      command.Connection = connection;
      command.CommandTimeout = 60;
      dataReader = command.ExecuteReader(behavior);
      Close(connection);
    }
    catch
    {
    }
    return dataReader;
}

DbDataReader错误:读取器关闭时调用Read的尝试无效

它已关闭,因为您关闭了数据库连接。它无法从关闭的SqlConnection中读取数据。如果您想重用该连接,您可以将一个OPEN连接传递给该方法,并在使用DbDataReader中的数据后关闭该连接。