Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: iratxe en Sábado 21 de Julio de 2007, 15:15
Título: Visualizar Una Imagen De Una Base De Datos
Publicado por: iratxe en Sábado 21 de Julio de 2007, 15:15
hola a todos:
Estoy intentando hacer un programa que tras introducir un codigo busque en la base de datos ese codigo y me muestre la foto correspondiente a ese codigo (la foto es un objeto de tipo ole). Jo la verdad es que no tengo ni idea de como hacerlo, si me ayudais os lo agradeceria mucho.
La imagen la estoy intentando visualizar en un picturebox y utilizo DAO El codigo que he escrito es este:
'abro de nuevo la tabla de la base de datos, para encontrar los autores Set rs5 = DB.OpenRecordset("SELECT Foto from " & nomTablaFinal & " where Codigo like codigo ", dbOpenDynaset) ' Comprobar que hay datos en el recordset, en este caso solo hay 1 With rs5 If (.BOF And .EOF) Then MsgBox "No se ha encontrado ninguna foto correspondiente a ese codigo" Else 'Mostrar los datos .MoveFirst Do While Not .EOF Picture1.DataSource = rs5("Foto") Loop End If End With
Título: Re: Visualizar Una Imagen De Una Base De Datos
Publicado por: cpmario en Domingo 22 de Julio de 2007, 17:54
En el código que muestras, no se observa que tipo de variable es "codigo"
Código: Text
Set rs5 = DB.OpenRecordset("SELECT Foto from " & nomTablaFinal & " where Codigo like codigo ", dbOpenDynaset)
Cambia el código anterior a lo siguiente:
Código: Text
Set rs5 = DB.OpenRecordset("SELECT Foto from " & nomTablaFinal & " where Codigo like " & codigo, dbOpenDynaset)
Si existen varias fotos del código que buscas, este código que tienes, solo te mostrará la últmina foto.
Código: Text
Do While Not .EOF
Picture1.DataSource = rs5("Foto")
Loop
Revisa esta discusión, puede ayudarte: http://foros.solocodigo.com/index.php?show...19843&hl=imagen (http://foros.solocodigo.com/index.php?showtopic=19843&hl=imagen)
:comp:
Título: Re: Visualizar Una Imagen De Una Base De Datos
Publicado por: iratxe en Lunes 30 de Julio de 2007, 11:58
Hola a todos:
Tras mucho intentarlo aun no he conseguido visualizar una foto de una base de datos access, la foto esta copo tipo ole y utilizo para la conexion a la base de datos DAO.
Me sale un error 481, La imagen no es valida, y me da eror en esta linea Image1.Picture = LoadPicture(sBmp
Alguien sabe porque?
El codigo que tengo escrito es: Private Sub Form_Load() Dim i As Integer
' conectamos a la BD y abrimos el recordset 'Set db = OpenDatabase(App.Path & "\MisFotos.mdb") Set rs5 = DB.OpenRecordset("SELECT * FROM cd4") ' cargamos el combo con el campo "Nombre" Do Until rs5.EOF Combo1.AddItem rs5("Tema") rs5.MoveNext Loop Image1.Stretch = True End Sub
Private Sub Combo1_Click() ' seleccionamos el campo "Foto" del nombre seleccionado Set rs5 = DB.OpenRecordset("SELECT Foto FROM cd4 WHERE Tema ='" & Combo1.Text & "'") CargaFoto End Sub
Private Sub CargaFoto() Dim lLen As Long, sBmp As String Dim aByte() As Byte ' vamos a crear un archivo temporal en el directorio de la aplicación sBmp = "C:\temp.bmp" With rs5 lLen = .Fields("Foto").FieldSize ReDim aByte(lLen) As Byte aByte = .Fields("Foto").GetChunk(0, lLen) Open sBmp For Binary As #1 Put #1, , aByte Close #1 End With Image1.Picture = LoadPicture(sBmp) End Sub
Private Sub Form_Unload(Cancel As Integer) ' eliminamos el archivo temporal Kill "C:\temp.bmp" End Sub