Manchmal müssen wir einen Word-Artikel zur späteren Suche und Verwendung in der Datenbank speichern, aber wie geht das? Nachfolgend finden Sie zwei Methoden zum Speichern von Word-Dokumenten in der Datenbank.
Die erste Methode: Speichern Sie das gesamte Word-Dokument in der Datenbank, wodurch nicht nur der Inhalt im Word-Dokument, sondern auch das Format in Word gespeichert wird.
Wenn beim Speichern die verwendete Datenbank SQL Server ist, sollte das Feld, in dem das Word-Dokument gespeichert wird, den Datentyp Binär verwenden. Wenn die ACCESS-Datenbank verwendet wird, sollte das OLE-Objekt verwendet werden.
Der vollständige Quellcode lautet wie folgt:
'Laden Sie eine beliebige Datei aus der Datenbank auf lokal herunter:
Öffentliche Funktion LoadFile(ByVal col As ADODB.Field, ByVal FileName As String) As Boolean 'Binärdaten abrufen
Bei Fehler Gehe zu myerr:
Dimmen Sie arrBytes() als Byte
Dimmen Sie FreeFileNumber als Ganzzahl
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = FreeFile
Öffnen Sie den Dateinamen für den Binärzugriff und schreiben Sie ihn als #FreeFileNumber
Geben Sie #FreeFileNumber, , arrBytes ein
Schließen Sie #FreeFileNumber
LoadFile = True
myerr:
Wenn Err.Number <> 0, dann
LoadFile = False
Fehler.Klar
Ende wenn
Funktion beenden
'Dateien von lokal in die Datenbank hochladen
Öffentliche Funktion UpLoadFile(ByVal FileName, ByVal col As ADODB.Field) Als Boolescher Wert
Bei Fehler Gehe zu myerr:
Dimmen Sie arrBytes() als Byte
Dimmen Sie FreeFileNumber als Ganzzahl
FreeFileNumber = FreeFile
Öffnen Sie FileName für Binär als #FreeFileNumber
n = LOF(FreeFileNumber)
ReDim arrBytes(1 To n) As Byte
Holen Sie sich #FreeFileNumber, , arrBytes
Schließen Sie #FreeFileNumber
col.AppendChunk(arrBytes)
UpLoadFile = True
myerr:
Wenn Err.Number <> 0, dann
UpLoadFile = Falsch
Fehler.Klar
Ende wenn
Funktion beenden
Zweite Methode:
Beim Entwerfen der Datenbank umfassen die Entwurfsfelder: wjmc (Dateiname), wjsx (Dateierweiterung), Wjnr (Dateiinhalt ist ein binärer Datentyp). (Wenn die Datenbank eine Access-Datenbank verwendet, ist der Dateiinhalt ein Ole-Objekt und die SQL Server-Datenbank ist ein Bild.)
Das Programm kann mit allen Dateitypen arbeiten.
Dim Wenjian als String
Dimmen Sie RD als Byte
Dimmen Sie die Größe so lang
ConstMYSIZE = 1048576
Dimmen Sie WENJIANN() als Byte
Dim Rs als neues ADODB.Recordset
Rs.Open select * aus wj, Cn, 1, 3
Rs.AddNew
Rs!wjmc = Mid(Name, 1, InStr(Name, .) - 1)
Rs!wjsx = Mid(Name, InStr(Name, .) + 1)
'name ist der Name der Datei plus Erweiterung
Öffnen Sie den Dateinamen für den Binärzugriff und lesen Sie ihn als Nr. 1
GRÖSSE = LOF(1)
Machen Sie While SIZE - MYSIZE >= 0
ReDim WENJIANN(MYSIZE) als Byte
Holen Sie sich Nr. 1, WENJIANN
Rs!wjnr.AppendChunk WENJIANN
GRÖSSE = GRÖSSE - MEINE GRÖSSE
Schleife
Wenn SIZE > 0, dann
ReDim WENJIANN(SIZE) als Byte
Holen Sie sich Nr. 1, WENJIANN
Rs!wjnr.AppendChunk WENJIANN
Ende wenn
Schließen Sie Nr. 1
Rs.Update
Setze Rs=Nichts
Wenn Sie diesen Artikel benötigen, setzen Sie ein Lesezeichen.