Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobierz LONGBLOB z MySQL w C#

Zrobiłem to w ramach projektu, nad którym pracowałem...

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

        }

Mam nadzieję że to pomoże. Proszę również wybaczyć wszelkie złe praktyki kodowania, zostało to napisane jakiś czas temu.

Podziękowania



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ikona Wampserver nie jest w pełni zielona, ​​usługi mysql się nie uruchamiają?

  2. WYBIERZ WHERE IN z GROUP_CONCAT jako danymi wejściowymi

  3. Jak powiedzieć node.js, że mysql nie działa na domyślnym porcie?

  4. podzapytanie mysql wewnątrz LEFT JOIN

  5. io.vertx.mysqlclient.MySQLPool.query ().execute nigdy nie jest tak naprawdę wykonywany i nic nie zwraca