บางครั้งเราจำเป็นต้องบันทึกบทความคำลงในฐานข้อมูลเพื่อค้นหาและใช้งานในอนาคต แต่จะทำอย่างไร? ด้านล่างนี้เป็นสองวิธีในการจัดเก็บเอกสารคำในฐานข้อมูล
วิธีแรก: บันทึกเอกสารคำทั้งหมดลงในฐานข้อมูล ซึ่งไม่เพียงแต่บันทึกเนื้อหาในเอกสารคำ แต่ยังบันทึกรูปแบบเป็นคำด้วย
เมื่อบันทึก หากฐานข้อมูลที่ใช้คือ SQL Server เขตข้อมูลที่มีการบันทึกเอกสารคำควรใช้ชนิดข้อมูลไบนารี หากใช้ฐานข้อมูล ACCESS ควรใช้วัตถุ OLE
ซอร์สโค้ดที่สมบูรณ์มีดังนี้:
'ดาวน์โหลดไฟล์ใด ๆ จากฐานข้อมูลไปยังท้องถิ่น:
ฟังก์ชั่นสาธารณะ LoadFile (ByVal col As ADODB.Field, ByVal FileName As String) As Boolean 'รับข้อมูลไบนารี
เมื่อเกิดข้อผิดพลาด GoTo myerr:
Dim arrBytes() เป็นไบต์
Dim FreeFileNumber เป็นจำนวนเต็ม
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = ฟรีไฟล์
เปิดชื่อไฟล์สำหรับการเข้าถึงแบบไบนารีเขียนเป็น #FreeFileNumber
ใส่ #FreeFileNumber, , arrBytes
ปิด #FreeFileNumber
LoadFile = จริง
ไมเออร์:
ถ้า Err.Number <> 0 แล้ว
LoadFile = เท็จ
ผิดพลาด.เคลียร์
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
'อัปโหลดไฟล์จากท้องถิ่นไปยังฐานข้อมูล
ฟังก์ชั่นสาธารณะ UpLoadFile (ByVal FileName, ByVal col As ADODB.Field) As Boolean
เมื่อเกิดข้อผิดพลาด GoTo myerr:
Dim arrBytes() เป็นไบต์
Dim FreeFileNumber เป็นจำนวนเต็ม
FreeFileNumber = ฟรีไฟล์
เปิดชื่อไฟล์สำหรับไบนารีเป็น #FreeFileNumber
n = LOF (หมายเลขไฟล์อิสระ)
ReDim arrBytes (1 ถึง n) เป็นไบต์
รับ #FreeFileNumber, , arrBytes
ปิด #FreeFileNumber
col.ผนวกChunk(arrBytes)
อัพโหลดไฟล์ = จริง
ไมเออร์:
ถ้า Err.Number <> 0 แล้ว
UpLoadFile = เท็จ
ผิดพลาด.เคลียร์
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
วิธีที่สอง:
เมื่อออกแบบฐานข้อมูล ฟิลด์การออกแบบประกอบด้วย: wjmc (ชื่อไฟล์), wjsx (นามสกุลไฟล์), Wjnr (เนื้อหาไฟล์เป็นชนิดข้อมูลไบนารี) (หากฐานข้อมูลใช้ฐานข้อมูลการเข้าถึง เนื้อหาไฟล์จะเป็นวัตถุ ole และฐานข้อมูลเซิร์ฟเวอร์ sql จะเป็นรูปภาพ)
โปรแกรมสามารถทำงานได้กับไฟล์ทุกประเภท
Dim Wenjian รับบทเป็น สตริง
Dim RD เป็นไบต์
ขนาดสลัวตราบเท่าที่
ConstMYSIZE = 1048576
Dim WENJIANN() เป็นไบต์
Dim Rs เป็น ADODB.Recordset ใหม่
฿เปิด เลือก * จาก wj, Cn, 1, 3
฿เพิ่มใหม่
Rs!wjmc = Mid(ชื่อ, 1, InStr(ชื่อ, .) - 1)
Rs!wjsx = กลาง(ชื่อ, InStr(ชื่อ, .) + 1)
'name คือชื่อของไฟล์พร้อมนามสกุล'
เปิดชื่อไฟล์สำหรับการเข้าถึงแบบไบนารีอ่านเป็น #1
ขนาด =ลอฟ(1)
ทำในขณะที่ SIZE - MYSIZE >= 0
ReDim WENJIANN (MYSIZE) เป็นไบต์
ได้ #1, , เหวินเจียน
Rs!wjnr.ผนวกChunk WENJIANN
ขนาด = ขนาด - ไมไซส์
วนซ้ำ
ถ้า SIZE > 0 แล้ว
ReDim WENJIANN (ขนาด) เป็นไบต์
ได้ #1, , เหวินเจียน
Rs!wjnr.ผนวกChunk WENJIANN
สิ้นสุดถ้า
ปิด #1
฿.อัปเดต
ตั้งค่า Rs=ไม่มีอะไร
หากคุณต้องการบทความนี้ ให้บุ๊กมาร์กไว้