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. 条件によるグループ化と精度を使用してMySqlからパーセンテージを取得する

    2. SQL Server Management Studioで複合キーを作成するにはどうすればよいですか?

    3. MySQLおよびMariaDBサーバーで人気のあるDockerイメージ

    4. C#を使用してXMLファイルをMySQLにロードする最速の方法は何ですか?