Dieser Artikel befasst sich mit der Herausforderung beim Speichern und Abrufen von Bildern aus einer Datenbank. Der ursprünglich bereitgestellte Code stieß auf Probleme, die zu einer eingehenderen Untersuchung und einer erfolgreichen Lösung führten.
Der Codeausschnitt zeigt, wie ein Bild aus einer PictureBox (PbPicture) in einer gespeichert wird MySQL-Datenbank:
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 = "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
Um ein Bild aus der Datenbank abzurufen Datenbank erstellen und in einer PictureBox (PbPicture) anzeigen möchten, führen Sie die folgenden Schritte aus:
Dim adapter As New MySqlDataAdapter adapter.SelectCommand = Cmd data = New DataTable adapter = New MySqlDataAdapter("select picture from [yourtable]", conn)
Hinweis: Stellen Sie sicher, dass die Abfrage nur einen Datensatz zurückgibt, da nur eine PictureBox ein einzelnes Bild gleichzeitig anzeigen kann Zeit.
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()
Das obige ist der detaillierte Inhalt vonWie kann ich Bilder effizient in einer MySQL-Datenbank speichern und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!