Cet article aborde le problème du stockage d'images sous forme de blobs dans une base de données et de leur récupération à afficher dans un contrôle Picturebox.
Pour stocker une image dans une base de données, la première étape consiste à la convertir au format binaire. Ceci peut être réalisé en utilisant la méthode Save avec le paramètre ImageFormat approprié.
Voici un exemple d'insertion de données d'image dans une base de données :
Dim filename As String = txtName.Text + ".jpg" Dim FileSize As UInt32 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)" conn.Open() With sqlcmd .CommandText = sql .Connection = conn .Parameters.AddWithValue("@FileName", filename) .Parameters.AddWithValue("@FileSize", FileSize) .Parameters.AddWithValue("@File", arrImage) .ExecuteNonQuery() End With conn.Close()
Pour récupérer une image de la base de données et l'afficher dans une Picturebox, suivez ces étapes :
Dim adapter As New MySqlDataAdapter adapter.SelectCommand = Cmd data = New DataTable adapter = New MySqlDataAdapter("select picture from [yourtable]", conn) 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()
En mettant en œuvre ces méthodes, vous pouvez stocker et récupérer de manière transparente des images dans et depuis une base de données pour les afficher dans les contrôles Picturebox.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!