Access - datos binarios largos

 
Vista:

datos binarios largos

Publicado por jose (4 intervenciones) el 21/11/2003 13:05:06
A ver si alguien me puede ayudar
Es la primera vez que trabajo con imagenes en bd asi que ni p... idea. Me han pasado un programa que muestra en un formulario d visual basic net los campos d una bd (varios campos de texto y uno d ole). Las imágenes insertadas son .jpg y al mostrar la vista de datos de access aparecen como:
Datos binarios largos
Estoy intentando yo insertar nuevos .jpg pero al ver la vista de datos me aparece como Fotografia de MicrosoftEditor.
Al arrancar el programa me da un error justo cuando intento mostrar esta imagen.
¿Como puedo conseguir guardar las imagenes .jpg como datos binarios largos?
Gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

datos binarios largos

Publicado por Alejandro (4142 intervenciones) el 03/05/2023 22:20:56
Para guardar imágenes en una base de datos de Access como datos binarios largos, puedes seguir los siguientes pasos:

1. Crea una tabla en Access con un campo de tipo "Objeto OLE".

2. En el formulario de Visual Basic .NET, agrega un control de imagen (PictureBox) y un control de botón (Button).

3. En el evento Click del botón, utiliza un objeto OpenFileDialog para permitir al usuario seleccionar el archivo de imagen que desea agregar a la base de datos.

4. Una vez que se ha seleccionado la imagen, conviértela a un arreglo de bytes utilizando la clase System.IO.File y su método ReadAllBytes.

5. Asigna el arreglo de bytes al control de imagen utilizando la propiedad Image.FromStream y un MemoryStream.

6. Al guardar los datos en la base de datos, utiliza el objeto Connection de ADO.NET para conectarte a la base de datos de Access y un objeto Command con un parámetro de tipo "Objeto OLE".

7. Asigna el arreglo de bytes al parámetro y ejecuta el comando utilizando el método ExecuteNonQuery.

Aquí te dejo un ejemplo de código para agregar una imagen a una base de datos de Access como datos binarios largos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim openFileDialog As New OpenFileDialog()
openFileDialog.Filter = "Archivos de imagen (*.jpg, *.jpeg, *.gif, *.bmp)|*.jpg;*.jpeg;*.gif;*.bmp"
If openFileDialog.ShowDialog() = DialogResult.OK Then
    Dim imagenBytes As Byte() = File.ReadAllBytes(openFileDialog.FileName)
    PictureBox1.Image = Image.FromStream(New MemoryStream(imagenBytes))
    Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ruta\a\la\base.accdb;"
    Dim query As String = "INSERT INTO tabla (imagen) VALUES (?)"
    Using connection As New OleDbConnection(connectionString)
        Using command As New OleDbCommand(query, connection)
            command.Parameters.AddWithValue("@imagen", imagenBytes)
            connection.Open()
            command.ExecuteNonQuery()
        End Using
    End Using
End If

Espero que esto te sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar