Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 55521 - Imagen en Access
IDAsuntoFechaNick 
55521 Imagen en Access05/07/11 12:49lucas.bass   
Hola buenas de nuevo a todos.

Por mas que intento, no consigo guardar una imagen en Access.

Tengo un PictureBox1 asociado a un OpenFileDialog1.
Pero de todas formas no se de que tipo de datos tengo que declarar la columna para la imagen.
Para hacerlo desde VB.NET (desde access es ObjetoOLE).

Tengo esto, pero falla por todos los lados:
Private Sub
     btnGuardarImagen_Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles btnGuardarImagen.Click

        Dim ms As New System.IO.MemoryStream()
        PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
        Dim imagenbit() As Byte = ms.GetBuffer
        ms.Close()

        conexion.Open()
        Dim cmd As New OleDb.OleDbCommand("Insert
             Into ImagenesAfectos (id_afecto,nombre_imagen,imagen) Values ('1','" +
             Archivo1.FileName + "','" + imagenbit.ToString + "')", conexion)
        cmd.ExecuteNonQuery()
        conexion.Close()
        MsgBox("Imagen guardada")

    End Sub

    Private Sub
         btnCargarImagen_Click(ByVal sender As System.Object, ByVal e As
         System.EventArgs) Handles btnCargarImagen.Click

        conexion.Open()
        Dim da As New OleDb.OleDbDataAdapter("Select imagen From ImagenesAfectos Where ID='1'", conexion)
            
        Dim dt As New DataTable
        da.Fill(dt)
        conexion.Close()
        Dim image() As
             Byte = CType(dt.Rows(0)(0), Byte())
        Dim ms As New System.IO.MemoryStream(image)
        Dim img As New Bitmap(Application.StartupPath + "\Temp.jpg")
        img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
        PictureBox1.Image = img

    End Sub

Os agradezco muchisimo vuestra ayuda.

Saludos!
IDAsuntoFechaNick 
55525 Re: Imagen en Access (Resp: 55521)07/07/11 08:51lucas.bass   
Bueno, por fin....

Lo dejo por si a alguien le hace falta:
Private Sub
     btnGuardarImagen_Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles btnGuardarImagen.Click

        Dim ms As New System.IO.MemoryStream()
        PictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
        Dim imagenbit() As Byte = ms.GetBuffer
        ms.Close()

        conexion.Open()
        Dim cadenaBits As String = ""
        For i = 0 To UBound(imagenbit)
            cadenaBits += "." + imagenbit(i).ToString
        Next
        Dim cmd As New OleDb.OleDbCommand("Insert
             Into ImagenesAfectos (id_afecto,nombre_imagen,imagen) Values ('1','" +
             Archivo1.FileName + "','" + cadenaBits + "')", conexion)
        cmd.ExecuteNonQuery()
        conexion.Close()

    End Sub

    Private Sub
         btnCargarImagen_Click(ByVal sender As System.Object, ByVal e As
         System.EventArgs) Handles btnCargarImagen.Click

        conexion.Open()
        Dim da As New OleDb.OleDbDataAdapter("Select imagen From ImagenesAfectos Where ID_Afecto='1'",
             conexion)
        Dim dt As New DataTable
        da.Fill(dt)
        conexion.Close()
        Dim cadenaBits() As String =
             Split(dt.Rows(0)(0), ".")
        Dim bits(UBound(cadenaBits) - 1) As Byte
        For i = 0 To UBound(bits)
            bits(i) = CByte(cadenaBits(i + 1))
        Next
        Dim ms As New System.IO.MemoryStream(bits)
        PictureBox1.Image = Image.FromStream(ms)

    End Sub


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 12/06/2026 07:57:03 GMT