في بعض الأحيان، نحتاج إلى حفظ مقالة كلمة في قاعدة البيانات للبحث والاستخدام في المستقبل، ولكن كيف نفعل ذلك؟ فيما يلي طريقتان لتخزين مستندات Word في قاعدة البيانات.
الطريقة الأولى: حفظ مستند Word بأكمله في قاعدة البيانات، وهذا لا يحفظ المحتوى في مستند Word فحسب، بل يحفظ التنسيق في Word أيضًا.
عند الحفظ، إذا كانت قاعدة البيانات المستخدمة هي SQL Server، فيجب أن يستخدم الحقل الذي يتم حفظ مستند الكلمة فيه نوع البيانات الثنائية. إذا تم استخدام قاعدة بيانات ACCESS، فيجب استخدام كائن OLE.
كود المصدر الكامل هو كما يلي:
'تنزيل أي ملف من قاعدة البيانات إلى الملف المحلي:
الوظيفة العامة LoadFile (ByVal col As ADODB.Field، ByVal FileName As String) كـ Boolean 'احصل على البيانات الثنائية
عند حدوث خطأ، انتقل إلى myerr:
خافت arrBytes () مثل بايت
تعتيم FreeFileNumber كعدد صحيح
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = FreeFile
افتح اسم الملف للوصول الثنائي واكتب باسم #FreeFileNumber
ضع #FreeFileNumber، , arrBytes
أغلق #FreeFileNumber
ملف التحميل = صحيح
مير:
إذا Err.Number <> 0 ثم
ملف التحميل = خطأ
خطأ.واضح
نهاية إذا
وظيفة النهاية
'تحميل الملفات من المحلية إلى قاعدة البيانات
الوظيفة العامة UpLoadFile (ByVal FileName، ByVal col As ADODB.Field) كقيمة منطقية
عند حدوث خطأ، انتقل إلى myerr:
خافت arrBytes () مثل بايت
تعتيم FreeFileNumber كعدد صحيح
FreeFileNumber = FreeFile
افتح اسم الملف للثنائي باسم #FreeFileNumber
ن = LOF(FreeFileNumber)
ReDim arrBytes(1 To n) كبايت
احصل على #FreeFileNumber، , arrBytes
أغلق #FreeFileNumber
col.AppendChunk(arrBytes)
UpLoadFile = صحيح
مير:
إذا Err.Number <> 0 ثم
UpLoadFile = خطأ
خطأ.واضح
نهاية إذا
وظيفة النهاية
الطريقة الثانية:
عند تصميم قاعدة البيانات، تتضمن حقول التصميم: wjmc (اسم الملف)، wjsx (امتداد الملف)، Wjnr (محتوى الملف هو نوع بيانات ثنائي). (إذا كانت قاعدة البيانات تستخدم قاعدة بيانات Access، فسيكون محتوى الملف هو كائن ole، وقاعدة بيانات خادم SQL هي صورة)
يمكن للبرنامج العمل على جميع أنواع الملفات.
ديم Wenjian كسلسلة
خافت RD بالبايت
حجم خافت طالما
حجم الكونست = 1048576
Dim WENJIANN() مثل بايت
Dim Rs كـ ADODB.Recordset جديد
Rs.Open حدد * من wj, Cn, 1, 3
روبية. إضافة جديد
Rs!wjmc = Mid(Name, 1, InStr(Name, .) - 1)
Rs!wjsx = Mid(Name, InStr(Name, .) + 1)
"الاسم هو اسم الملف بالإضافة إلى الامتداد
افتح اسم الملف للوصول الثنائي للقراءة باسم رقم 1
الحجم = LOF(1)
افعل بينما الحجم - MYSIZE >= 0
أعد إنشاء WENJIANN(MYSIZE) كـ Byte
احصل على رقم 1، وينجيان
روبية! wjnr.AppendChunk WENJIANN
الحجم = الحجم - الحجم MYSIZE
حلقة
إذا كان الحجم > 0 ثم
ReDim WENJIANN(SIZE) بالبايت
احصل على رقم 1، وينجيان
روبية! wjnr.AppendChunk WENJIANN
نهاية إذا
إغلاق رقم 1
تحديث روبية
تعيين روبية = لا شيء
إذا كنت بحاجة إلى هذه المقالة، قم بوضع إشارة مرجعية عليها.