Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: zethli en 14 Julio 2020, 07:39 am



Título: Ayuda para convertir una imagen a binarios largos y guardarla en una basededatos
Publicado por: zethli en 14 Julio 2020, 07:39 am
Buenas. ;D
Disculpen, necesito su ayuda tengo que convertir una imagen a binarios largos y guardarla en una base de datos (Access 2002-2003) y que se guarde como binarios largos, usando un DataGridView, donde en el momento de ejecución pueda visualizar la imagen ademas de editarla (Cambiarla o eliminarla), y no se como poner codigo (Me mandaron a buscar y nada de lo que encuentro me funciona) tambien,no logro colocar el vinculo del Picture.Box a la casilla de foto y otras cosas.

Les agradeceria inmensamente si me pueden colaborar. :rolleyes:

Les mostrare todo,Porque ni entiendo bien como funciona el programa.
Este es el formato

(https://imageshack.com/i/pooMSkhTj)

Esta es la prgramacion del DatagridView

(https://imageshack.com/i/po5ExSp0j)

La bace de Datos de Access

(https://imageshack.com/i/poAECSEBj)

Este es el error que sale

(https://imageshack.com/i/poe0os6bj)

Este es mi codigo

Public Class Form1
    Private Sub RegistroProductoBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles RegistroProductoBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.RegistroProductoBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.AlmacenDataSet)

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'AlmacenDataSet.RegistroProducto' Puede moverla o quitarla según sea necesario.
        Me.RegistroProductoTableAdapter.Fill(Me.AlmacenDataSet.RegistroProducto)

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.RegistroProductoBindingSource.MoveFirst()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.RegistroProductoBindingSource.MovePrevious()

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Me.RegistroProductoBindingSource.MoveNext()
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Me.RegistroProductoBindingSource.MoveLast()
    End Sub

    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        Me.RegistroProductoTableAdapter.Agregar(IdTextBox.Text, NombreTextBox.Text, CantidadTextBox.Text, FotoTextBox.Text)
        Me.RegistroProductoTableAdapter.Fill(Me.AlmacenDataSet.RegistroProducto)
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Me.RegistroProductoTableAdapter.Editar(IdTextBox.Text, NombreTextBox.Text, CantidadTextBox.Text, FotoTextBox.Text)
        Me.RegistroProductoTableAdapter.Fill(Me.AlmacenDataSet.RegistroProducto)
        MsgBox("Cambios Guardados")
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        Me.RegistroProductoTableAdapter.Editar(IdTextBox.Text, NombreTextBox.Text, CantidadTextBox.Text, FotoTextBox.Text)
        Me.RegistroProductoTableAdapter.Fill(Me.AlmacenDataSet.RegistroProducto)
        MsgBox("Cambios Guardados")
    End Sub

    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        Me.RegistroProductoTableAdapter.Eliminar(IdTextBox.Text)
        Me.RegistroProductoTableAdapter.Fill(Me.AlmacenDataSet.RegistroProducto)
        MsgBox("Registro eliminado")
    End Sub

    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        Me.RegistroProductoTableAdapter.FillBy(Me.AlmacenDataSet.RegistroProducto, IdTextBox.Text)
        MsgBox("Actualize DGV")
    End Sub

    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        Me.Close()
    End Sub

    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click

    End Sub
End Class

Espero que me puedan contriuir muchas gracias.  :silbar:


Título: Re: Ayuda para convertir una imagen a binarios largos y guardarla en una basededatos
Publicado por: Serapis en 19 Julio 2020, 19:40 pm
Para empezar, este es el foro para VB6, no para VB-NET.

Para continuar, con imagen... debemos suponer que hablas de un fichero gráfico de imagen, no?.

Luego, eso de 'binarios largos', salvando distancias insalvables resulta incomprensible... ciertos términos es preferible no traducirlos, cuando una traducción literal pierde significado. Y una traducción sensata, si no es ampliamente aceptada, tampoco será acertada.

En VB-NET, existe la función 'GetAllBytes()', para leer el fichero completo (cualquier fichero, sea imagen o no), y devuelve un array con el contenido del  fichero. Luego, guardarlo en una BD, es lo mismo que guardar cualquier otro array de bytes...Puesto que son funciones perfectamente documentadas en la página de mocosoft, no vale la pena perder más tiempo ni extenderse en explicaciones, aparte de ello habrá chorrocientos ejemplos en la red...