Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхраняване на изображение в blob база данни; извличане от db в Picturebox

Е, тъй като не получих помощ, аз се отдръпнах от проблема и най-накрая го накарах да работи. Ето моят работещ код.

ЗАПАЗЕТЕ В MySQL извън Picturebox (pbPicture)

    Dim filename As String = txtName.Text + ".jpg"
    Dim FileSize As UInt32

    conn.Close()

    Dim mstream As New System.IO.MemoryStream()
    PbPicture.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
    Dim arrImage() As Byte = mstream.GetBuffer()

    FileSize = mstream.Length
    Dim sqlcmd As New MySqlCommand
    Dim sql As String
    mstream.Close()

    sql = "insert into [your table]  (picture, filename, filesize) 
                               VALUES(@File, @FileName, @FileSize)"

    Try
        conn.Open()
        With sqlcmd
            .CommandText = sql
            .Connection = conn
            .Parameters.AddWithValue("@FileName", filename)
            .Parameters.AddWithValue("@FileSize", FileSize)
            .Parameters.AddWithValue("@File", arrImage)

            .ExecuteNonQuery()
        End With
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        conn.Close()
    End Try

ЗАРЕЖДАНЕ от MySQL db Обратно към Picturebox

   Dim adapter As New MySqlDataAdapter
    adapter.SelectCommand = Cmd

    data = New DataTable

    adapter = New MySqlDataAdapter("select picture from [yourtable]", conn)

ЗАБЕЛЕЖКА!! може да постави само една снимка в Picturebox, така че очевидно тази заявка може да върне само един запис за вас

    commandbuild = New MySqlCommandBuilder(adapter)
    adapter.Fill(data)

    Dim lb() As Byte = data.Rows(0).Item("picture")
    Dim lstr As New System.IO.MemoryStream(lb)
    PbPicture.Image = Image.FromStream(lstr)
    PbPicture.SizeMode = PictureBoxSizeMode.StretchImage
    lstr.Close()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL – Изчакайте секунди с помощта на SELECT SLEEP()

  2. Връщане на "последния" ред на всяка "група по" в MySQL

  3. MySQL нарушава ли стандарта, като позволява избор на колони, които не са част от групата по клауза?

  4. MySQL - length() срещу char_length()

  5. Как да създадете база данни с множество наематели със споделени структури на таблици?