Visual Basic.NET - Consultar imagen desde SQL

 
Vista:

Consultar imagen desde SQL

Publicado por Ana Isabel (3 intervenciones) el 21/06/2014 01:01:40
hola amigos a mi me gusta ayudar en foros (no son de programacion) y ahora necesito su ayuda.
tengo una semana que lo trato de intentar pero no me sale de ningun modo.

Intento hacer una busqueda de una foto almacenada en una tabla de sql server con el campo tipo imagen
uso este codigo para extraer la informacion que necesito, pero no se como poner la imagen en un picturebox,

Dim nombrecompleto, nom, apaterno, amaterno As String


cn.Open()
Dim consulta As String = "select * from people where personid = '" & folio.Text & "'"
Dim cmd As New SqlCommand(consulta, cn)
Dim dr As SqlDataReader = cmd.ExecuteReader
If dr.Read() Then


' juntar los nombres y apellidos en un solo campo
nom = dr("nombre").ToString()
apaterno = dr("apaterno").ToString()
amaterno = dr("amaterno").ToString()
nombrecompleto = nom & " " & apaterno & " " & amaterno
nombretext.Text = nombrecompleto

hasta ahi si me extrae la informacion pero
he intentado muchas formas pero ninguna me sale para hacer que el picturebox (llamado "Foto") me almacene la de la tabla, uso algo asi

foto.image = dr("picture")

pero me marca error, como le puedo hacer para que me mande llamar la foto a ese picturebox?
agradeceria mucho su ayuda, tengo varios dias dedicandole horas para encontrar la solucion y no he podido
gracias, besos al que me pueda ayudar con eso
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

Consultar imagen desde SQL

Publicado por omar (128 intervenciones) el 21/06/2014 02:27:07
La mejor manera es guardar la ruta de la foto en sql y crear una carpeta donde se almacenaran las fotos

Solo buscas el nombre del archivo y jalas la ruta para mostrar la foto
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

Consultar imagen desde SQL

Publicado por Pico (167 intervenciones) el 21/06/2014 07:58:01
dr("picturte") como mucho será un array de bytes, suponiendo que lo hayas guardado y extraído bien. Para que puedas pasárselo a un picture como una imagen tienes que transformarlo. El control Image se puede crear a partir de un Stream con Image.FromStream(stream), y un stream se puede crear a partir de un array de bytes con MemoryStream(bytes).

Ahí lo tienes hecho http://support.microsoft.com/kb/321900/es
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

Consultar imagen desde SQL

Publicado por Ana Isabel (3 intervenciones) el 21/06/2014 18:40:12
gracias que lindo me sirvio tu ayuda Omar, muchas gracias, ya puedo extraer la foto a un picturebox con este codigo modificado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim cn As New SqlConnection(strCn)
        Dim cmd As New SqlCommand("SELECT personid, " & _
            "picture FROM pictures where personid = '" & folio.Text & "'", cn)
        Dim da As New SqlDataAdapter(cmd)
        Dim ds As New DataSet()
        da.Fill(ds, "pictures")
        Dim c As Integer = ds.Tables("pictures").Rows.Count
        If c > 0 Then
            Dim bytpicture() As Byte = _
                ds.Tables("pictures").Rows(c - 1)("picture")
            Dim stmpicture As New MemoryStream(bytpicture)
            picblob.Image = Image.FromStream(stmpicture)
        End If
    End Sub


gracias, solo tengo problemas al ingresar una foto, ya que me la guarda pero al verla en la tabla directamente me aparece una X y no se pone bien. si en estos dias no puedo, te pido ayuda de nuevo, no quiero molestar, solo lo hare hasta que agote mis ideas :) gracias
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

Consultar imagen desde SQL

Publicado por Pico (167 intervenciones) el 21/06/2014 19:04:51
Joder qué desgracia tengo. Para una vez que digo que no guardéis la imagen sino sólo la ruta váis y guardáis la imagen y no la ruta y le dáis las gracias al otro. Sólo faltaría que además le hicieras el ingreso a él también.

Pero sí, guardar un archivo gordo en una base de datos es una muy mala idea. De archivos, imágenes, pdfs, texto largo..., mejor guardar sólo la ruta en el disco.

Si aparece una X igual es porque hay un error en algún sitio y no puede mostrar la imagen.
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

Consultar imagen desde SQL

Publicado por Ana Isabel (3 intervenciones) el 23/06/2014 16:22:25
tienes razon, me equivoque porque las gracias es para ti Pico, es la pagina la que me ayudo la que me recomendaste. sorry por eso, y si, la imagen se guarda en la base de datos y no la ruta, porque ya esta hecha asi la base de sql server. hoy vere lo de la forma de meter la foto a la base, ya pude extraerla y ponerla en un picturebox, solo me falta lo contrario, lo intentare y si no puedo y agoto mis ideas, te pedire tu sabia ayuda Pico, gracias a ti :)
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

Consultar imagen desde SQL

Publicado por Guillermo (42 intervenciones) el 03/03/2015 17:34:16
Hola Ana! Sé que este post es de hace tiempo, pero precisamente yo andaba liado con el mismo tema que tú! estoy intentando extraer de una Tabla a la que llamo 'Familias' un campo llamado Descripcion (text) y fotofam (blob), éste ultimo almacena pequeñas fotografias. Mi problema es que yo conecto con la base de datos, y después hago la consulta, pero no sé recuperar el resultado de la consulta. Es decir, me gustaría recuperar tanto la descripción, como la fotografia para mostrarlos en un formulario que tengo ya diseñado.
Según veo tu haces un select y despues esto:
1
2
3
4
5
6
7
8
9
Dim ds As New DataSet()
        da.Fill(ds, "pictures")
        Dim c As Integer = ds.Tables("pictures").Rows.Count
        If c > 0 Then
            Dim bytpicture() As Byte = _
                ds.Tables("pictures").Rows(c - 1)("picture")
            Dim stmpicture As New MemoryStream(bytpicture)
            picblob.Image = Image.FromStream(stmpicture)
        End If
A mi me gustaria que me explicases por favor como puedo hacer referencia a las descripciones y fotografias que se encuentran tras ejecutar el select, porque no tengo ni idea!
Muchas gracias por tu ayuda, o por la de cualquiera que me pueda echar una mano.
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