Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ADODB.Stream

Estas en el tema de ADODB.Stream en el foro de Bases de Datos General en Foros del Web. Tengo una base de datos SQL en la que tengo campos bynary con imágenes Cuando en un momento dado las recupero para mostrarlas mediante ADODB.Stream ...
  #1 (permalink)  
Antiguo 02/11/2004, 11:15
 
Fecha de Ingreso: noviembre-2004
Mensajes: 2
Antigüedad: 19 años, 6 meses
Puntos: 0
ADODB.Stream

Tengo una base de datos SQL en la que tengo campos bynary con imágenes
Cuando en un momento dado las recupero para mostrarlas mediante ADODB.Stream se me presenta el problema de que la memoria se va llenando.
El código a partir de un recordset que contiene la descripción de las imágenes es éste (VB6):

Set rstRecordset = New ADODB.Recordset
rstRecordset.Open SentenciaSql, Conexion
While Not rstRecordset.EOF
Set stmImagen = New ADODB.Stream
stmImagen.Type = adTypeBinary
stmImagen.Open
stmImagen.Write rstRecordset("CampoImagen")
stmImagen.SaveToFile Directorio + NombreFichero
stmImagen.Close
Set stmImagen = Nothing
rstRecordset.MoveNext
Wend
rstRecordset.Close
Set rstRecordset = nothing

Podriais darme alguna sugerencia para evitar el que se me llene la memoria del ordenador.

Gracias
  #2 (permalink)  
Antiguo 15/01/2010, 08:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 54
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: ADODB.Stream

hola tambien estoy trabajando con imagenes en SQL
una consulta como insertas y actualisas el binario del SQL en VB6



' DestinationFile = ese es el origen de la foto ej c:\foto.jpg

yo lo normal coloco una variable String y executo sin embargo lo que encontre
fue

'parte del codigo

Dim Rs As New ADODB.Recordset '
Dim mystream As New ADODB.Stream ' stream fotos
Dim Direc As String ' foto temporal

'*********************************

StrSQL = "Select * From FOTOGRAFIA_SQL where run = '" & Trim(nombre) & " ' "
Rs.Open StrSQL, Cn, adOpenStatic, adLockOptimistic

Direc = App.path & "& nombre &".jpg" ' directorio temporal
mystream.Type = adTypeBinary

If Rs.BOF = False Then
Previsualizar
End If

Rs.AddNew
mystream.Open
mystream.LoadFromFile DestinationFile
Rs("nombre") = Trim(nombre)
Rs("foto") = mystream.Read
Rs.Update

mystream.Close ' Cerrar Stream

Rs.close

'*********************************

Private Sub Previsualizar()
On Local Error Resume Next ' por si surge alguno error

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

' aca yo recupero la foto en forma fisica la que esta en la base de datos
FotoDB.Picture = LoadPicture(Direc) ' previsalizamos la imagen en nuestro picture



control

End Sub


'*********************************


el problema lo tengo al actualizar

tambien estoy reconstruyendo la foto aun no tengo problema ...igual se que esta el tema de la memoria si queres reconstruit todas las fotos a la vez

en .NET esta hecho sin embargo me lo pidieron para vb6

[email protected]

Última edición por zeroyevi; 15/01/2010 a las 08:14 Razón: error de sintacsis
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 23:01.