sql >> データベース >  >> RDS >> Mysql

C#でMYSQLからMediumblobデータ型を読み取ります

    MySQLに関するこの記事の例を見てください。ウェブサイト 、次のようにデータを処理できるはずです:

    画像を保存するには:

    MySql.Data.MySqlClient.MySqlConnection conn;
    MySql.Data.MySqlClient.MySqlCommand cmd;
    
    // initialize "conn" and "cmd" here
    
    FileStream fs = new FileStream(@"c:\image.png", FileMode.Open, FileAccess.Read);
    FileSize = fs.Length;
    
    byte[] rawData = new byte[FileSize];
    fs.Read(rawData, 0, FileSize);
    fs.Close();
    
    conn.Open();
    
    string SQL = "INSERT INTO file VALUES(NULL, @FileSize, @File)";
    
    cmd.Connection = conn;
    cmd.CommandText = SQL;
    cmd.Parameters.AddWithValue("@FileSize", FileSize);
    cmd.Parameters.AddWithValue("@File", rawData);
    
    cmd.ExecuteNonQuery();
    
    conn.Close();
    

    そしてそれを読むために:

    MySql.Data.MySqlClient.MySqlConnection conn;
    MySql.Data.MySqlClient.MySqlCommand cmd;
    MySql.Data.MySqlClient.MySqlDataReader myData;
    
    // initialize connection and query here...
    
    myData = cmd.ExecuteReader();
    
    if (!myData.HasRows)
        throw new Exception("There are no BLOBs to save");
    
    myData.Read();
    
    int FileSize = myData.GetUInt32(myData.GetOrdinal("file_size"));
    byte[] rawData = new byte[FileSize];
    
    myData.GetBytes(myData.GetOrdinal("file"), 0, rawData, 0, (int)FileSize);
    
    FileStream fs = new FileStream(@"C:\newfile.png", FileMode.OpenOrCreate, FileAccess.Write);
    fs.Write(rawData, 0, (int)FileSize);
    fs.Close();
    

    このコードは、画像をファイルに保存する方法を示しています(そして、画像がPNG形式で保存されていることを前提としています)が、データを使用して好きなことを行うことができます...




    1. 1日あたりの登録ユーザー数をカウントするSQLクエリ

    2. Ubuntu20.04にArangoDBをインストールする方法

    3. 教義 2 where condition without comparison

    4. phpjson_encodemysqlの結果