Guardar imágenes en una tabla
Por Enrique Martínez Montejo
Última revisión: 09/03/2004
 

Mediante el método Read del objeto Stream de ADO podemos asignar el valor de un campo de la tabla del tipo Objeto OLE o Imagen.

Copie y pegue el siguiente código en la sección Declaraciones del formulario de inicio del proyecto.

Option Explicit

Private
Sub SaveImage(ByVal oRst As ADODB.Recordset, _
                      ByVal strFileName As String, _
                      ByVal strFieldName As String)
    Dim st As Stream

    On Error GoTo ErrSaveImage

    ' Si el objeto Recordset está cerrado,
    ' salimos del procedimiento

    If (oRst.State = adStateClosed) Then
        MsgBox "El objeto Recordset está cerrado."
        Exit Sub
    End If

    ' Creamos un nuevo objeto Stream binario
    Set st = New Stream
    With st
        ' abrimos el objeto e insertamos el archivo
        ' en la tabla de la base de datos

        .Type = adTypeBinary
        .Open
        .LoadFromFile strFileName

        ' Coloca el valor del stream en el campo y lo guarda
        oRst.Fields(strFieldName).Value = .Read
        oRst.Update

        ' Cerramos el objeto Stream
        .Close
    End With

    Set st = Nothing

    Exit Sub

ErrSaveImage:
    MsgBox Err.Description

End Sub
 

 

Otros enlaces de interés:

Indice de Ejemplos de ADO


Enrique Martínez Montejo - 2004

NOTA: La información contenida en este artículo, así como el código fuente incluido en el mismo, se proporciona COMO ESTÁ, sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo explicado, recomendado o sugerido en el presente artículo.

NOTE: The information contained in this article and source code included therein, is provided AS IS without warranty of any kind, and confers no rights. You assume any risk to implement, use or run it explained, recommended or suggested in this article.