Parfois, nous devons enregistrer un article Word dans la base de données pour une recherche et une utilisation futures, mais comment procéder ? Vous trouverez ci-dessous deux méthodes pour stocker des documents Word dans la base de données.
La première méthode : enregistrer l'intégralité du document Word dans la base de données, qui enregistre non seulement le contenu du document Word, mais enregistre également le format dans Word.
Lors de l'enregistrement, si la base de données utilisée est SQL Server, le champ dans lequel le document Word est enregistré doit utiliser le type de données Binaire. Si la base de données ACCESS est utilisée, l'objet OLE doit être utilisé.
Le code source complet est le suivant :
'Téléchargez n'importe quel fichier de la base de données vers le local :
Fonction publique LoadFile (ByVal col As ADODB.Field, ByVal FileName As String) As Boolean 'Obtenir des données binaires
En cas d'erreur GoTo myerr :
Dim arrBytes() en tant qu'octet
Dim FreeFileNumber sous forme d'entier
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
Numéro de fichier gratuit = Fichier gratuit
Ouvrir FileName pour un accès binaire, écrire sous #FreeFileNumber
Mettez #FreeFileNumber, , arrBytes
Fermer #FreeFileNumber
LoadFile = Vrai
mon Dieu :
Si Err.Number <> 0 Alors
LoadFile = Faux
Err.Effacer
Fin si
Fonction de fin
'Télécharger des fichiers du local vers la base de données
Fonction publique UpLoadFile (ByVal FileName, ByVal col As ADODB.Field) Comme booléen
En cas d'erreur GoTo myerr :
Dim arrBytes() en tant qu'octet
Dim FreeFileNumber sous forme d'entier
Numéro de fichier gratuit = Fichier gratuit
Ouvrez FileName pour le binaire en tant que #FreeFileNumber
n = LOF (numéro de fichier libre)
ReDim arrBytes (1 à n) en tant qu'octet
Obtenez #FreeFileNumber, , arrBytes
Fermer #FreeFileNumber
col.AppendChunk(arrBytes)
UpLoadFile = Vrai
mon Dieu :
Si Err.Number <> 0 Alors
UpLoadFile = Faux
Err.Effacer
Fin si
Fonction de fin
Deuxième méthode :
Lors de la conception de la base de données, les champs de conception incluent : wjmc (nom du fichier), wjsx (extension du fichier), Wjnr (le contenu du fichier est de type de données binaire). (Si la base de données utilise la base de données Access, le contenu du fichier est un objet ole et la base de données du serveur SQL est une image)
Le programme peut fonctionner sur tous les types de fichiers.
Dim Wenjian comme chaîne
Dim RD en octet
Dim TAILLE aussi longtemps
ConstMYSIZE = 1048576
Dim WENJIANN() en tant qu'octet
Dim Rs comme nouveau ADODB.Recordset
Rs.Open sélectionnez * parmi wj, Cn, 1, 3
Rs.AddNew
Rs!wjmc = Mid(Nom, 1, InStr(Nom, .) - 1)
Rs!wjsx = Mid(Nom, InStr(Nom, .) + 1)
'name est le nom du fichier plus l'extension
Ouvrir le nom de fichier pour un accès binaire lu comme #1
TAILLE = LOF(1)
Faire pendant SIZE - MYSIZE >= 0
ReDim WENJIANN (MYSIZE) en tant qu'octet
Obtenez #1, , WENJIANN
Rs!wjnr.AppendChunk WENJIANN
TAILLE = TAILLE - MA TAILLE
Boucle
Si TAILLE > 0 Alors
ReDim WENJIANN (TAILLE) en tant qu'octet
Obtenez #1, , WENJIANN
Rs!wjnr.AppendChunk WENJIANN
Fin si
Fermer #1
Rs.Mise à jour
Définir Rs = Rien
Si vous avez besoin de cet article, ajoutez-le à vos favoris.