sql >> Databáze >  >> RDS >> Mysql

Neplatný pokus o čtení, když je čtečka zavřená

Můžete načíst výsledky svého dotazu do paměti, pak ukončit připojení a stále vracet IDataReader to funguje podle očekávání. Všimněte si, že to stojí paměť.

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

Ve volajících:

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


  1. Příkaz MySQL Vysvětlete ignorovat LIMIT?

  2. Oracle získá hodnotu kontrolního součtu pro datový blok definovaný klauzulí select

  3. ORA-00907:chybí pravá závorka

  4. Skript Python 3.2 pro připojení k místní databázi MySQL