<٪
###### ما يلي ملف فئة ، والشرح التالي هو طريقة استدعاء فصل############################################################################################################### ## طلب
# ملاحظة: إذا كان النظام لا يدعم إنشاء كائن scripting.filesystemobject ، فلن يتم استخدام وظيفة ضغط قاعدة البيانات.
'# Access Database Class
'# CreateBfile ينشئ ملف قاعدة بيانات الوصول
# CompactDatabase يضغط ملف قاعدة بيانات الوصول
'# إنشاء طريقة الكائن:
# تعيين A = databasetools جديدة
'# بواسطة (Xiao Hanxue) SF
'#########################################################################################
databasetools فئة
الوظيفة العامة CreatedBfile (Byval dbfilename ، Byval Dbver ، Byval SavePath)
"إنشاء ملف قاعدة بيانات
"إذا كان DBVER 0 ، فقم بإنشاء Access97 DBFile
"إذا كان DBVER 1 ، فقم بإنشاء Access2000 DBFILE
عند استئناف الخطأ التالي
إذا كان صحيحًا (SavePath ، 1) <> "/" أو Right (SavePath ، 1) <> "/" ثم SavePath = trim (SavePath) و "/"
إذا تركت (dbfilename ، 1) = "/" أو اليسار (dbfilename ، 1) = "/" ثم dbfilename = trim (mid (dbfilename ، 2 ، len (dbfilename))))))
إذا كان dbexists (SavePath & dbfilename) ثم
Response.write ("آسف ، هذه قاعدة البيانات موجودة بالفعل!")
createBfile = false
آخر
خافت كاليفورنيا
SET CA = Server.CreateBject ("Adox.Catalog")
إذا err.number <> 0 ثم
استجابة. write ("لا يمكن تأسيسها ، يرجى التحقق من رسالة الخطأ
"& err.number &"
"& err.description)
err.clear
وظيفة الخروج
إنهاء إذا
إذا كان dbver = 0 ثم
Call Ca.Create ("Provider = microsoft.jet.oledb.3.51 ؛ Data Source =" & SavePath & DBFilename)
آخر
Call Ca.Create ("Provider = microsoft.jet.oledb.4.0 ؛ Data Source =" & SavePath & DBFilename)
إنهاء إذا
تعيين CA = لا شيء
CreatedBfile = صحيح
إنهاء إذا
وظيفة نهاية
الوظيفة العامة CompactDatabase (Byval dbfilename ، Byval Dbver ، Byval SavePath)
ضغط ملفات قاعدة البيانات
0 للوصول 97
1 للوصول 2000
عند استئناف الخطأ التالي
إذا كان صحيحًا (SavePath ، 1) <> "/" أو Right (SavePath ، 1) <> "/" ثم SavePath = trim (SavePath) و "/"
إذا تركت (dbfilename ، 1) = "/" أو اليسار (dbfilename ، 1) = "/" ثم dbfilename = trim (mid (dbfilename ، 2 ، len (dbfilename))))))
إذا كان dbexists (SavePath & dbfilename) ثم
Response.write ("آسف ، هذه قاعدة البيانات موجودة بالفعل!")
compactDatabase = false
آخر
CD DIM
تعيين CD = server.createBject ("JRO.JetEngine")
إذا err.number <> 0 ثم
Response.write ("لا يمكن ضغط ، يرجى التحقق من رسالة الخطأ
"& err.number &"
"& err.description)
err.clear
وظيفة الخروج
إنهاء إذا
إذا كان dbver = 0 ثم
استدعاء cd.compactdatabase ("Provider = microsoft.jet.oledb.3.51 ؛ data source =" & savepath & dbfilename ، "
Source = "& SavePath & dbfilename &" .bak.mdb ؛ jet OLEDB ؛ encrypt database = true ")
آخر
استدعاء cd.compactdatabase ("Provider = microsoft.jet.oledb.4.0 ؛ data source =" &
SavePath & DBFilename ، "Provider = Microsoft.jet.oledb.4.0 ؛ Data Source =" &
SavePath & dbfilename & ".bak.mdb ؛ jet OLEDB ؛ encrypt database = true")
إنهاء إذا
حذف ملفات قاعدة البيانات القديمة
استدعاء DELETEFILE (SavePath & DBFilename)
استعادة ملف قاعدة البيانات المضغوط