A veces, necesitamos guardar un artículo de Word en la base de datos para buscarlo y utilizarlo en el futuro, pero ¿cómo hacerlo? A continuación se muestran dos métodos para almacenar documentos de Word en la base de datos.
El primer método: guardar todo el documento de Word en la base de datos, que no solo guarda el contenido del documento de Word, sino que también guarda el formato en Word.
Al guardar, si la base de datos utilizada es SQL Server, el campo en el que se guarda el documento de Word debe utilizar el tipo de datos Binario. Si se utiliza la base de datos ACCESS, se debe utilizar el objeto OLE.
El código fuente completo es el siguiente:
'Descarga cualquier archivo de la base de datos al local:
Función pública LoadFile (ByVal col como ADODB.Field, ByVal FileName como cadena) como booleano 'Obtener datos binarios
En caso de error, vaya a myerr:
Dim arrBytes() como byte
Atenuar FreeFileNumber como número entero
tamaño largo = col.TamañoActual
arrBytes = col.GetChunk(tamaño largo)
Número de archivo libre = archivo libre
Abra FileName para acceso binario Escriba como #FreeFileNumber
Ponga #FreeFileNumber, arrBytes
Cerrar #FreeFileNumber
Cargar archivo = verdadero
myerr:
Si Número de error <> 0 Entonces
Cargar archivo = falso
Err.Borrar
Terminar si
Función final
'Subir archivos desde local a la base de datos
Función pública UpLoadFile (ByVal FileName, ByVal col como ADODB.Field) como booleano
En caso de error, vaya a myerr:
Dim arrBytes() como byte
Atenuar FreeFileNumber como número entero
Número de archivo libre = archivo libre
Abra el nombre del archivo para binario como #FreeFileNumber
n = LOF(Número de archivo libre)
ReDim arrBytes(1 To n) como byte
Obtenga #FreeFileNumber, arrBytes
Cerrar #FreeFileNumber
col.AppendChunk(arrBytes)
UpLoadFile = Verdadero
myerr:
Si Número de error <> 0 Entonces
UpLoadFile = Falso
Err.Borrar
Terminar si
Función final
Segundo método:
Al diseñar la base de datos, los campos de diseño incluyen: wjmc (nombre de archivo), wjsx (extensión de archivo), Wjnr (el contenido del archivo es un tipo de datos binarios). (Si la base de datos utiliza una base de datos de acceso, el contenido del archivo es un objeto antiguo y la base de datos del servidor SQL es una imagen)
El programa puede funcionar con todo tipo de archivos.
Dim Wenjian como cuerda
Atenuar RD como byte
Tamaño tenue siempre y cuando
ConstMYSIZE = 1048576
Atenuar WENJIANN() como byte
Dim Rs como nuevo ADODB.Recordset
Rs.Open seleccione * de wj, Cn, 1, 3
Rs.AñadirNuevo
Rs!wjmc = Medio(Nombre, 1, InStr(Nombre, .) - 1)
Rs!wjsx = Medio(Nombre, InStr(Nombre, .) + 1)
'nombre es el nombre del archivo más la extensión
Abrir nombre de archivo para acceso binario Leer como #1
TAMAÑO = LOF(1)
Hacer mientras TAMAÑO - MYSIZE >= 0
ReDim WENJIANN (MYSIZE) como byte
Consigue el n.º 1, WENJIANN
Rs!wjnr.AppendChunk WENJIANN
TAMAÑO = TAMAÑO - MI TAMAÑO
Bucle
Si TAMAÑO > 0 Entonces
Redim WENJIANN (TAMAÑO) como byte
Consigue el n.º 1, WENJIANN
Rs!wjnr.AppendChunk WENJIANN
Terminar si
Cerrar #1
Rs.Actualizar
Establecer Rs = Nada
Si necesita este artículo, márquelo como favorito.