sql >> Databasteknik >  >> RDS >> Mysql

Ogiltigt försök att läsa när läsaren är stängd

Du kan ladda resultaten av din fråga till minnet, sedan stänga anslutningen och fortfarande returnera en IDataReader som fungerar som förväntat. Observera att detta kostar minne.

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;
    }

I de som ringer:

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


  1. ST_DWithin tar parameter som grad, inte meter, varför?

  2. förhindra dubbla poster i databasen

  3. Hur man får data om de senaste 12 månaderna i MySQL

  4. Åtkomst till databasen för en applikation från en annan applikation