Lo primero es tener una tabla que contenga la imagen que guardo en mi base de datos, por ejemplo, mi tabla sería algo así.
CREATE TABLE Imagenes ( id INT IDENTITY NOT NULL, fotos IMAGE NOT NULL )
El llenar la tabla, con las imágenes, no lo indicó aquí, pues es un proceso aparte.
Así que suponiendo que mi tabla está llena, necesito obtener la imagen de un registro específico, por ejemplo, la foto de alguien, por lo que sería algo así.
Private Sub Buscar_Imagen() 'La variable Byte tiene que ir obligatoriamente con () Dim byImagen() As Byte = Nothing Dim oMemoryStream As MemoryStream Dim bmpImagen As Bitmap Dim dtTabla As New DataTable 'Los argumentos de conexión a la base de datos Dim args As String = "Data Source=;" & _ "Initial Catalog= ;Integrated Security=SSPI"; Using connection As SqlConnection = New SqlConnection(args) Dim txtConexion As String = "select fotos " txtConexion = txtConexion + "from Imagenes " 'La variable codigo la lleno antes con la identificación de la persona que voy a mostrar txtConexion = txtConexion + "where id = " & codigo adapter = New SqlDataAdapter(txtConexion, connection) Try dtTabla = New DataTable adapter.Fill(dtTabla) 'Si no hay registros en la tabla no se muestra nada If dtTabla.Rows.Count = 0 Then Exit Sub End If Dim row As DataRow = dtTabla.Rows(0) 'Obtengo el campo de la tabla Dim value As Object = row.Item("fotos") 'Si está en null no se muestra nada If Not value Is DBNull.Value Then 'Convierto el campo en el tipo de dato que necesito byImagen = CType(value, Byte()) oMemoryStream = New MemoryStream(byImagen) bmpImagen = New Bitmap(oMemoryStream) 'Lo muestro en el PictureBox PictureBox1.Image = bmpImagen End If Catch expSQL As SqlException MsgBox(expSQL.ToString, MsgBoxStyle.OkOnly, "SQL Exception") Exit Sub End Try End Using End Sub
Nota: Recordar importar lo siguiente.
'Sirve para las sentencias SQL Imports System.Data.SqlClient 'Sirve para la memoria Imports System.IO