Visual Basic.NET - imagenes desde access

 
Vista:
sin imagen de perfil
Val: 73
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

imagenes desde access

Publicado por pablo (25 intervenciones) el 31/01/2021 07:08:14
hola como estan? espero que esten todos bien.
tengo la siguiente cuestion, quiero agregar imagenes a mi programa. como si fuese un catalogo, el usuario se coloca sobre un codigo de un datagrid y debe salir la foto del producto.

consegui poder guardar la imagen en access, pero no logro mostrarla, busque por varios lados y realmente no entiendo como se hace.
yo la imagen la guardo de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Public Function GuardarImagen()
    Dim pe = Form1.DGVSTOCKPE.Item(0, Form1.DGVSTOCKPE.CurrentRow.Index).Value
 
    If Not Form1.picfoto Is Nothing Then
 
        Dim ms As New IO.MemoryStream
        Form1.picfoto.Image.Save(ms, Form1.picfoto.Image.RawFormat)
 
        Dim i() As Byte = ms.GetBuffer
        Dim save As String = "insert into tb_imagen (PE,imagen) Values(@PE,@imagen)"
        Dim cmd As New OleDbCommand(save, CON_ACC1)
        cmd.Parameters.Add(New OleDbParameter("@PE", pe))
        cmd.Parameters.Add(New OleDbParameter("@imagen", i))
 
        If (cmd.ExecuteNonQuery) Then
 
            MessageBox.Show("Imagen Guardada")
        Else
            MessageBox.Show("Imagen no Guardada")
        End If
        ms.Close()
 
    End If
End Function
la imagen la elijo con un open file y luego la guardo a traves de un boton, como puedo hacer para que el usuario a medida que cambien de fila en el data grid aparezca la iimagen que corresponde al producto, cabe aclarar que son aproximadamente 2000 produc,

por otro lado he leido que muchos guardan las rutas de las imagenes, ustedes que creen que es mas conveniente?
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 melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

imagenes desde access

Publicado por melqui (242 intervenciones) el 01/02/2021 14:04:34
pablo,
para guardar imagen en la base de datos no es necesario guardar la ruta, pues al final lo que vas a trabajar es con la imagen registrado en la base de datos, solo guardas la ruta, cuando no es necesario guardar la imagen, mas es un peligro si alguien mueva las imagenes por alguna razon para otra carpeta ai pierdes todo el camino.

creo que este enlace te puede ayudar,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub btnRecuperarImgBD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecuperarImgBD.Click
    Dim dataTable As DataTable = dsImagem.Tables(0)
 
    If imgRecuperar.Image IsNot Nothing Then
        imgRecuperar.Image.Dispose()
    End If
 
    Dim fsImage As New FileStream("image.jpg", FileMode.Create)
 
    For Each dataRow As DataRow In dataTable.Rows
        If dataRow(0).ToString() = cboImagemID.SelectedItem.ToString() Then
            Dim blob As Byte() = DirectCast(dataRow(1), Byte())
            fsImage.Write(blob, 0, blob.Length)
            fsImage.Close()
            fsImage = Nothing
            imgRecuperar.Image = Image.FromFile("image.jpg")
            imgRecuperar.SizeMode = PictureBoxSizeMode.StretchImage
            imgRecuperar.Refresh()
        End If
    Next
End Sub

use como referencia.
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
sin imagen de perfil
Val: 73
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

imagenes desde access

Publicado por pablo (25 intervenciones) el 03/02/2021 01:03:16
muchas gracias por la respuesta!
lo voy a incorporar a mi programa a ver como resulta.

lo que me referia de las rutas de las imagenes es si conviene armar una bd en access con las imagenes como datos binarios o almaenar las imagenes en alguna carperta y en la BD guardar la ruta, le recuerdo que mi base deberia almacenar unas 2000 2500 imagenes.

desde ya muchas gracias por su 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