Cómo Guardar una Imagen en la Base de Datos de MS Access usando VB.Net

Cómo guardar una imagen en la base de datos de Access usando VB.Net

Hoy aprenderá a guardar imágenes en la base de datos de MS Access usando VB.Net. Este proyecto ilustrará cómo guardar un objeto en el campo con un tipo de datos de «Objeto OLE» en la base de datos de Access. En este proceso, la imagen en sí se guardará automáticamente en la base de datos cuando se haga clic en el botón. Vea el procedimiento a continuación para ver cómo funciona.

Creando Aplicación
Paso 1
Abra Microsoft Visual Studio 2010, 2012, 2013, 2015, 2017 0 2019 y cree una nueva aplicación de formulario de Windows para C Sharp.

Buscar Registros Entre dos Fechas en C Sharp y Base de Datos MS Access

Paso 2
Realice el formulario tal como se muestra a continuación.

cargar imagen

Paso 3
Presione F7 para abrir el editor de código. En el editor de código, agregue un espacio de nombres para OLeDB para acceder a las bibliotecas OLeDB.

Imports System.Data.OleDb

Paso 4
Cree una conexión entre la base de datos de acceso y visual basic .net. Después de eso, declare todas las clases y variables que se necesitan.

Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\dbsaveimg.accdb")
    Dim cmd As OleDbCommand
    Dim sql As String

Paso 5
Cree un método para guardar una imagen en la base de datos.

Private Sub saveImage(sql As String)
       Try
           'SPECIFIES THE FILE FORMAT OF THE IMAGE
           PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)

           'RETURNS THE ARRAY OF UNSIGNED BYTES FROM WHICH THIS STREAM WAS CREATED
           arrImage = mstream.GetBuffer()

           'GET THE SIZE OF THE STREAM IN BYTES
           Dim FileSize As UInt32
           FileSize = mstream.Length
           'CLOSES THE CURRENT STREAM AND RELEASE ANY RESOURCES ASSOCIATED WITH THE CURRENT STREAM
           mstream.Close()

           con.Open()

           cmd = New OleDbCommand
           With cmd
               .Connection = con
               .CommandText = sql
               .Parameters.AddWithValue("@img", arrImage)
               .ExecuteNonQuery()
           End With
       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           con.Close()
       End Try
   End Sub

Paso 6
Escriba el siguiente código para obtener la imagen del directorio externo.

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
       Try
           With OpenFileDialog1

               'CHECK THE SELECTED FILE IF IT EXIST OTHERWISE THE DIALOG BOX WILL DISPLAY A WARNING.
               .CheckFileExists = True

               'CHECK THE SELECTED PATH IF IT EXIST OTHERWISE THE DIALOG BOX WILL DISPLAY A WARNING.
               .CheckPathExists = True

               'GET AND SET THE DEFAULT EXTENSION
               .DefaultExt = "jpg"

               'RETURN THE FILE LINKED TO THE LNK FILE
               .DereferenceLinks = True

               'SET THE FILE NAME TO EMPTY 
               .FileName = ""

               'FILTERING THE FILES
               .Filter = "(*.jpg)|*.jpg|(*.png)|*.png|(*.jpg)|*.jpg|All files|*.*"
               'SET THIS FOR ONE FILE SELECTION ONLY.
               .Multiselect = False

               'SET THIS TO PUT THE CURRENT FOLDER BACK TO WHERE IT HAS STARTED.
               .RestoreDirectory = True

               'SET THE TITLE OF THE DIALOG BOX.
               .Title = "Select a file to open"

               'ACCEPT ONLY THE VALID WIN32 FILE NAMES.
               .ValidateNames = True

               If .ShowDialog = DialogResult.OK Then
                   Try
                       PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
                   Catch fileException As Exception
                       Throw fileException
                   End Try
               End If

           End With
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
       End Try
   End Sub

Paso 7
Haga el siguiente código para guardar la imagen cuando haga clic en el botón.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      sql = "Insert into tblimage (img) Values (@img)"
      saveImage(sql)
      MsgBox("Image has been saved in the database")
  End Sub

Salida:

Antes de la descarga del Tutorial presiona el siguiente enlace para que te suscribas a nuestro Canal de YouTube:

SUSCRIBETE AL CANAL DE YOUTUBE AQUI !

Cómo Guardar una Imagen en la Base de Datos de MS Access usando VB.Net – Descargar el Tutorial en el siguiente enlace:

DESCARGAR AQUÍ

Deja una respuesta

Tu dirección de correo electrónico no será publicada.