<%
'###### Ниже приведен файл класса, а следующая аннотация - это метод вызова сорт############################################################################################################### НАПОЛНЕНИЕ
'# Примечание. Если система не поддерживает создание объекта scripting.filesystemobject, функция сжатия базы данных не будет использоваться.
'# Класс базы данных доступа
'# CreatedBfile создает файл базы данных доступа
'# CompactDataBase сжимает файл базы данных доступа
'# Создать метод объекта:
# Set a = new Databasetools
'# by (xiao hanxue) sf
'#########################################################################################
Классы базы данных
Общественная функция CreateBfile (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 («Извините, эта база данных уже существует!»)
CensueBfile = false
Еще
Dim Ca.
Установить ca = server.createObject ("adox.catalog")
Если err.number <> 0, тогда
Response.write («Не может быть установлен, пожалуйста, проверьте сообщение об ошибке
"& Err.number &"
"& Err.description)
Err.clear
Выходная функция
Конец, если
Если dbver = 0, то
Позвоните CA.Create ("Provider = microsoft.jet.oledb.3.51;
Еще
Позвоните CA.Create ("Provider = microsoft.jet.oledb.4.0; Data Source =" & savePath & dbfilename)
Конец, если
Установить Ca = ничего
CensueBfile = true
Конец, если
Конечная функция
Public Function CompactDatabase (Byval dbfilename, Byval dbver, Byval SavePath)
'Сжатие файлов базы данных
'0 для доступа 97
1 для Access 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
Еще
DIM CD
Установить cd = server.createObject ("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, "Provider = microsoft.jet.oledb.3.51; Data Data
Source = "& savePath & dbfilename &" .bak.mdb; jet oledb; incrypt 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; incrypt database = true")
Конец, если
'Удалить старые файлы базы данных
Call Deletefile (SavePath & Dbfilename)
'Восстановить сжатый файл базы данных