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

C#でMySQLからLONGBLOBを取得する

    私は実際に私が取り組んでいたプロジェクトの一部としてこれを行いました...

    public Bitmap loadImage(int imgID)
            {
    
                MySqlDataReader myData;
                MySqlCommand cmd = new MySqlCommand();
    
                string SQL;
                byte[] rawData;
                MemoryStream ms;
                UInt32 FileSize;
                Bitmap outImage;
    
                SQL = "SELECT ImageName, ImageSize, Image FROM Images WHERE ImageID =";
                SQL += imgID.ToString();
    
                try
                {
                    cmd.Connection = connection;
                    cmd.CommandText = SQL;
    
                    myData = cmd.ExecuteReader();
    
                    if (!myData.HasRows)
                        throw new Exception("There are no blobs to save");
    
                    myData.Read();
    
                    FileSize = myData.GetUInt32(myData.GetOrdinal("ImageSize"));
                    rawData = new byte[FileSize];
    
                    myData.GetBytes(myData.GetOrdinal("Image"), 0, rawData, 0, (Int32)FileSize);
    
    
                    ms = new MemoryStream(rawData);
                    outImage = new Bitmap(ms);
                    ms.Close();
                    ms.Dispose();
    
                    myData.Close();
                    myData.Dispose();
    
                    cmd.Dispose();
    
                    return outImage;
    
    
                }
                catch (MySqlException ex)
                {
                    MessageBox.Show(ex.Message);
                    return null;
                }
    
            }
    

    お役に立てれば。また、悪いコーディング慣行を許してください。これは少し前に書かれたものです。

    ThanksTom



    1. Oracleを使用する場合、Fluent NHibernateを使用してバッチフェッチを実装するにはどうすればよいですか?

    2. Postgres JOIN with unnest

    3. 関係のある単純なMySQL更新ランク

    4. Oracleのテーブルで重複する値を見つけるにはどうすればよいですか?