Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problemas con Imagenes a BD

Estas en el tema de Problemas con Imagenes a BD en el foro de Visual Basic clásico en Foros del Web. Buenas tardes, hace como media hora escribi un tema para que me solucionaran... aqui va otro para que me ayuden Deseo hacer un formulario donde ...
  #1 (permalink)  
Antiguo 24/01/2007, 15:42
Avatar de Ma3s_Hugh3s  
Fecha de Ingreso: enero-2007
Mensajes: 6
Antigüedad: 17 años, 3 meses
Puntos: 0
Problemas con Imagenes a BD

Buenas tardes, hace como media hora escribi un tema para que me solucionaran... aqui va otro para que me ayuden

Deseo hacer un formulario donde el usuario llene los datos de un producto y solamente de click al PictureBox y carge la imagen. Yo busque en sus FAQ como hacer lo de las imagenes. Al correr su codigo fuente sirve perfectamente, pero al adaptarlo a mi programa aparece que la variable mystream no aparece declarada... aqui esta el codigo fuente que adapte de su programa al mio

Código:
Dim conn As New ADODB.Connection ' declaramos la conexion
Dim Rs As New ADODB.Recordset 'declaramos el recordset
Dim mystream As New ADODB.Stream ' declaramos el stream para leer las fotos
Dim Direc As String ' declaramos la variable donde guardaremos nuestra foto
Private Sub FotoDB_Click()
'Buscamos la imagen con el diálogo
Dialogo.Filter = "Archivos JPG|*.jpg|Archivos GIF|*.gif|Archivos BMP|*.bmp" ' le decimos al dialogo ---
' que filtre los arhivos jpg, gif, bmp

Dialogo.ShowOpen ' que abra el cuadro de dialogo

If Dialogo.FileName = "" Then ' si es ho eligio imagen que no se salga del proceso
MsgBox "Debe elegir una imagen para que poder agregar el registro", vbInformation, "Error"
Exit Sub
End If

Rs.AddNew
    mystream.Open
    mystream.LoadFromFile Dialogo.FileName
        Rs("imagen") = mystream.Read
        Rs.Update
    mystream.Close ' Cerrar Stream
MsgBox "Se ha agregado la imagen satisfactoriamente", vbInformation, "Agregada"
If Rs.BOF = False Then

End If
End Sub

Private Sub Form_Load()
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\far.mdb" & ";Uid=Admin;Pwd=;" ' Declaramos el driver de access y la ubicacion de la base de datos
' la opion app.path nos da el direccionamiento del nuestro proyecto o programa y solo agregamos el nombre de base de datos en este caso "\dbfotos.mdb" le antepones una diagonal pra hacer la division de directorio o archivo
conn.CursorLocation = adUseClient

conn.Open 'abrimos la conexion

Rs.Open "Select * From producto", conn, adOpenStatic, adLockOptimistic ' abrimos el recordset

Direc = App.Path & "\temp.jpg" ' declaramos cual va a ser nuestro directorio temporal

mystream.Type = adTypeBinary ' le decimos que nuestra imagen es de tipo binario
If Rs.BOF = False Then
Previsualizar
End If
End Sub
End Sub

Private Sub Previsualizar()
On Local Error Resume Next ' por si surge alguno error que lo pase por alto
mystream.Open ' abrimos el stream
mystream.Write Rs!foto ' leemos la imagen
mystream.SaveToFile Direc, adSaveCreateOverWrite ' guardamos la imagen en unestro directorio temporal
mystream.Close ' cerramos el stream
far.Picture = LoadPicture(Direc) ' previsalizamos la imagen en nuestro picture control
End Sub
El metodo de conexion es el mismo, Environment bajo Jet 4.0. Ayudenme por favor!

Ah otra cosa... Como hago para captar la fecha y la hora (en etiquetas de texto separadas) sin necesidad de que el usuario clickee. O sea, que se genere automaticamente, no se necesita guardarla en la BD.

Gracias de antemanos, atentamente

Ma3s_Hugh3s
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 08:26.