Foros del Web » Programación para mayores de 30 ;) » .NET »

Leer imangenes desde una Base de Datos

Estas en el tema de Leer imangenes desde una Base de Datos en el foro de .NET en Foros del Web. Alguien tiene algun codigo, o algun documento, con respecto a leer imágenes desde una base de datos y presentarla en uno de los siguientes controles ...
  #1 (permalink)  
Antiguo 18/04/2004, 03:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 85
Antigüedad: 20 años, 7 meses
Puntos: 0
Leer imangenes desde una Base de Datos

Alguien tiene algun codigo, o algun documento, con respecto a leer imágenes desde una base de datos y presentarla en uno de los siguientes controles Datagrid,datalist o repeater??
__________________
ASP.Net - Relket - ASP.Net

Última edición por Relket; 18/04/2004 a las 03:04
  #2 (permalink)  
Antiguo 18/04/2004, 04:31
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Yo te puedo pasar código para meter imagenes en una BD,pero luego para mostrarlo en alguno de esos controles no he probado nunca,yo lo he probado en un control Image.
Aunque como ya se ha dicho por aqui no es conveniente almacenar la imagen en la BD,por cuestiones de espacio y rendimiento,lo suyo seria almacenar en la BD la ruta a la imagen(por ejemplo "/tuweb/imagenes/foto1.jpg") asi ganaras en rendimiento.
Por si acaso aqui te pongo el codigo para almacenar imagenes en la BD
Cita:
El campo será de tipo Image
'El OpenFileDialog1 lo he puesto para que el usuario pueda elegir la imagen que quiere subir

Dim fs As New FileStream(OpenFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read)
Dim MyData(fs.Length) As Byte
fs.Read(MyData, 0, fs.Length)
fs.Close()

'Ahora creas la fila nueva en el dataset y para introducir la foto pones

filanueva("FOTO") = MyData

'Y luego para mostrarla

foto.Image = Mostrarfoto(1) 'Por ejemplo

Public Function Mostrarfoto(ByVal id As Integer) As Image
Try
Dim cn As New SqlConnection("Server=xxxxx;Database=xxxxx;uid=xxx xxx;pwd=xxxxx")
cn.Open()
'Retrieve BLOB from database into DataSet.
Dim cmd As New SqlCommand("SELECT foto FROM Tabla WHERE ID=" & id, cn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
da.Fill(ds, "Tabla")
Dim c As Integer = ds.Tables("Tabla").Rows.Count
If c > 0 Then
'BLOB is read into Byte array, then used to construct MemoryStream,
'then passed to PictureBox.
Dim byteBLOBData(-1) As [Byte]
byteBLOBData = CType(ds.Tables("Tabla").Rows((c - 1))("FOTO"), [Byte]())
Dim stmBLOBData As New MemoryStream(byteBLOBData)
Mostrarfoto = Image.FromStream(stmBLOBData)
End If
cn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Function
La funcion mostrar foto lo que hace es eso,le pasas un ID se conecta a la BD y elige la foto de acuerdo al ID que se le ha pasado como parametro.
Espero que te sea de ayuda,para cualquier duda me la comentas y lo solucionamos,saludos

Última edición por SunDarK; 18/04/2004 a las 04:35
  #3 (permalink)  
Antiguo 19/04/2004, 11:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 79
Antigüedad: 20 años, 5 meses
Puntos: 0
A mi me gustaría esto pero aplicado a una base de datos de ORACLE.

Podría aprovechar el mismo código cambiando el tipo del campo a BLOB y las funciones sql por las de oracle (en vez de sqlcomand, seria OracleCommand ...)?

Tenéis algun ejemplo para oracle?

Muchas gracias.
  #4 (permalink)  
Antiguo 19/04/2004, 11:47
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Deberia valer,pero no he probado nunca,ya que yo no trabajo con Oracle,pero en un principio no deberia de haber problemas,saludos
  #5 (permalink)  
Antiguo 19/04/2004, 11:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Podría aprovechar el mismo código cambiando el tipo del campo a BLOB y las funciones sql por las de oracle

Solo es cosa de que te bajes el driver de Oracle para net y lo puedas usar como parte del framework...

Ejemplo.

Cita:
Dim oracleConnection As New OracleClient.OracleConnection("tu_conexion")
oracleConnection.Open()
Dim oracleCommand As New OracleClient.OracleCommand(SqlQuery, oracleConnection)
Dim dataReader As OracleClient.OracleDataReader = oracleCommand.ExecuteReader()
etc...etc

Aqui puedes encontrar el driver.

http://otn.oracle.com/software/tech/.../utilsoft.html

Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 19/04/2004, 11:54
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Por cierto.... aqui puedes encontrar un buen ejemplo y tambien un link donde tambien te puedes bajar el driver

http://msdn.microsoft.com/library/de...rooracperf.asp


Saludos
  #7 (permalink)  
Antiguo 19/04/2004, 11:58
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Ese RootK que ha vuelto,se hechaba de menos estos dias sin tus post ;D
  #8 (permalink)  
Antiguo 19/04/2004, 12:19
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
se hechaba de menos estos dias sin tus post
Es que casi los fines de semana no tengo time para conectarme a la red...

Saludos friend
  #9 (permalink)  
Antiguo 19/04/2004, 12:32
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Jejeje pues nada a disfrutar,que la vida no es solo progrmar ^_^ saludos
  #10 (permalink)  
Antiguo 19/04/2004, 12:35
 
Fecha de Ingreso: noviembre-2003
Mensajes: 79
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracias por contestar tan rápido. Ya tengo el driver de Oracle para .net.

De hecho mi aplicación trabaja sobre base de datos de oracle. Lo único que no sabía muy bien como funcionaban los datos de tipo blob.

Intentaré probar este código para ver si funciona.

Muchas gracias.
  #11 (permalink)  
Antiguo 20/04/2004, 08:48
 
Fecha de Ingreso: noviembre-2003
Mensajes: 79
Antigüedad: 20 años, 5 meses
Puntos: 0
Funciona perfectamete para oracle.

Muchísimas gracias por vuestra ayuda.
  #12 (permalink)  
Antiguo 08/06/2011, 08:21
 
Fecha de Ingreso: junio-2011
Ubicación: Pereira(Colombia)
Mensajes: 1
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Leer imangenes desde una Base de Datos

una pregunta como hago para crear la funcion filanueva, todo lo demás lo entiendo necesito hacer una base de datos que me guarde las fotos.....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:49.