Maison  >  Article  >  base de données  >  Comment stocker et récupérer des images dans une base de données pour PictureBox Display ?

Comment stocker et récupérer des images dans une base de données pour PictureBox Display ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-21 08:44:12396parcourir

How to Store and Retrieve Images in a Database for PictureBox Display?

Stockage et récupération d'images pour Picturebox à l'aide d'un blob de base de données

Présentation

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.

Insertion de données d'image dans la base de données

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()

Récupération de données d'image à partir d'une base de données

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn