Mysql
 sql >> база данни >  >> RDS >> Mysql

Невалиден опит за четене, когато четецът е затворен

Можете да заредите резултатите от вашата заявка в паметта, след това да затворите връзката и пак да върнете IDataReader това работи както се очаква. Имайте предвид, че това струва памет.

public IDataReader getRecord(string query)
    {
        MySqlDataReader reader;
        using (var connection = new MySqlConnection(connectionString))
        {
            connection.Open();
            using (var cmd = new MySqlCommand(query, connection))
            {

                reader = cmd.ExecuteReader();
                var dt = new DataTable();
                dt.Load( reader );
                return dt.CreateDataReader();
            }
        }

        return null;
    }

В обаждащите се:

String sql = "SELECT * FROM `table`";
var dr = objDB.getRecord(sql); // or DataTableReader dr = ...
if (dr.Read())
{
    // some code goes here
} 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранени функции в MySQL – имена на таблици и колони на динамични/променливи

  2. Как да премахна емоджи знаци от низ?

  3. Интелигентна MySQL GROUP BY за потоци от дейности

  4. Коя SQL заявка е по-добра, MATCH AGAINST или LIKE?

  5. Свързването с MySQL причинява грешка Името на източника на данни не е намерено и не е посочен драйвер по подразбиране