ASP.NET используется для поддержания и управления данными в веб -режиме, реализации создания баз данных, работы синтаксиса SQL, а также импорта и экспорта данных. Позвольте редактору The Foxin Technology Channel доставить вас в следующую статью, чтобы узнать о этапах управления онлайн -базами данных!
Класс rlmandbcls
Private Sdbpath, Rlconn, Sdbtype, Sservername, Supername, Spassword
Общественный счет
Private sub class_initialize ()
sdbtype = ""
Конец суб
Private sub class_terminate ()
Если isobject (rlconn), тогда
Rlconn.close
Установить rlconn = ничего
Конец, если
Конец суб
Публичная собственность пусть dbtype (byval strvar)
sdbtype = strvar
Конец собственности
Общественное свойство Let ServerName (Byval Strvar)
sservername = strvar
Конец собственности
Общественная собственность, пусть Username (Byval Strvar)
Susername = strvar
Конец собственности
Общественная собственность пусть пароль (Byval Strvar)
spassword = strvar
Конец собственности
'Установите путь базы данных
Публичная собственность пусть dbpath (byval strvar)
sdbpath = strvar
Выберите Case sdbtype
Дело "SQL"
Strserver = sservername 'Имя сервера базы данных
Struid = susername 'ваша учетная запись входа
Strsapwd = spassword 'ваш пароль для входа в систему
Strdbname = sdbpath 'Имя базы данных
sdbpath = "driver = {sql server}; server =" & strserver & "; uid =" & struid & "; pwd =" & strsapwd & "; database =" & strdbname
Дело "доступ", "
SDBPATH = "Provider = microsoft.jet.oledb.4.0; Data Source =" & server.mappath (sdbpath)
Конец выбора
CheckData Rlconn, Sdbpath
Конец собственности
'Проверьте ссылку базы данных, (имя переменной, строка подключения)
Private Sub CheckData (DataConn, Connstr)
При ошибке резюме следующим
SET DATACONN = SERVER.CreateObject ("AdoDB.Connection")
DataConn.open connstr
Если ошибка, тогда
Err.clear
Установить DataConn = ничего
ERRMSG ("Ошибка подключения к базе данных:" & replace (connstr, "/", "//") & ",/nplease Проверьте строку подключения, чтобы подтвердить, является ли введенная информация о базе данных.")
Response.end
Конец, если
Конец суб
'Проверьте, существует ли таблица
Function Checktable (TableName)
При ошибке резюме следующим
Rlconn.execute ("select * from" & tableName)
Если err.number <> 0, тогда
Err.clear ()
Call Errmsg ("Erry Rift:" & Err.Description)
Checktable = false
Еще
Checktable = true
Конец, если
Конечная функция
'Сообщение об ошибке (сообщение)
Private Sub Errmsg (MSG)
Response.write msg
Response.flush
Конец суб
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Измените значение поля
Общественная субполирование (Byval TableName, Byval ColumnName, Byval ValueText, Byval Whosest)
При ошибке резюме следующим
Если whodESTR <> "" Тогда
Если instr (whodestr, "где") <= 0 тогда
WhodESTR = "где" и как
Конец, если
Еще
Whodest = ""
Конец, если
Rlconn.execute ("update" & tablename & "set" & columnname & "=" & valueText & "" & owsest)
Если err.number <> 0, тогда
Call Errmsg ("Erry Rift:" & Err.Description)
Err.clear ()
Конец, если
Конец суб
'Выполнить оператор SQL
Public Sub Seecute (STRSQL)
Установить rscount = server.createObject ("adodb.recordset")
При ошибке резюме следующим
Rscount = rlconn.execute (strsql)
Если осталось (strsql, 12) = "select count", то count = rscount (0)
Если err.number <> 0, тогда
Call Errmsg ("Erry Rift:" & Err.Description)
Err.clear ()
Конец, если
Rscount.close
Установить rscount = ничего
Конец суб
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Добавить индекс поля
AddIndex public Function (Byval TableName, Byval IndexName, Byval ValueText)
При ошибке резюме следующим
Rlconn.execute ("create index" & indexname & "on [" & tablename & "] ([" & valueText & "])")
Если err.number <> 0, тогда
Call Errmsg ("Create In" & TableName & "TableName &" TableName & "IndexName &" IndexName & "Cause" & Err.Description & "Пожалуйста, измените индекс вручную.")
Err.clear ()
AddIndex = false
Еще
AddIndex = true
Конец, если
Конечная функция
'Удалить индекс таблицы
Публичная функция Delindex (Byval TableName, Byval IndexName)
При ошибке резюме следующим
Rlconn.execute ("Drop Space Index [" & TableName & "]." & IndexName)
Если err.number <> 0, тогда
Call Errmsg ("In" & TableName & "TableDelete" & IndexName & "Индекс ошибка, причина" & err.description & "Пожалуйста, удалите индекс вручную»).)
Err.clear ()
Delindex = false
Еще
Delindex = true
Конец, если
Конечная функция
'Измените определение имени таблицы таблицы, чтобы установить имя столбца поля в качестве первичного ключа
Публичная функция addPrimaryKey (Byval TableName, Byval ColundName)
При ошибке резюме следующим
TableName = Replict (Reply (TableName, "[", ""), "]", "")
Rlconn.execute ("Alter Table" & TableName & "Добавить ограничение PK _" & TableName & "Primary Key (" & ColumnName & ")")
Если err.number <> 0, тогда
Call Errmsg («Ошибка при добавлении» и поле «и TableName &" & ColumnName & "как первичный ключ, разум" & err.description & "Пожалуйста, измените свойства поля вручную.").)
Err.clear ()
AddPrimaryKey = false
Еще
AddPrimaryKey = true
Конец, если
Конечная функция
'Измените определение табличного имени таблицы, чтобы удалить определение поля.
Общественная функция Delprimarykey (Byval TableName, Byval ColumnName)
При ошибке резюме следующим
Rlconn.execute ("Alter Table" & TableName & "Drop Space Primary Key (" & ColumnName & ")")
Если err.number <> 0, тогда
Call Errmsg («Произошла ошибка при удалении определения первичного ключа» и TableName & »» в соответствии с «Запрос поля» & ColumnName & », Dase» и Err.Description & », пожалуйста, измените свойства поля вручную.»)
Err.clear ()
Delprimarykey = false
Еще
Delprimarykey = True
Конец, если
Конечная функция
'Проверьте, существует ли первичный ключ, и вернуть имя первичного ключа таблицы
Функция getPrimaryKey (табличное имя)
при ошибке резюме следующим
Dim Rsprimary
GetPrimaryKey = ""
Установить rsprimary = rlconn.openschema (28, массив (пустой, пустого, табличное имя))
Если не rsprimary.eof, то getprimarykey = rsprimary ("colun_name")
Установить rsprimary = ничего
Если err.number <> 0, тогда
Call Errmsg («База данных не поддерживает первичный ключ для обнаружения таблицы данных» и TableName & ». Причина:« & Err.Description)
Err.clear ()
Конец, если
Конечная функция
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Добавить новое поле
Публичная функция addColumn (TableName, ColumnName, ColumnType)
При ошибке резюме следующим
Rlconn.execute ("Alter Table [" & TableName & "] Add [" & ColumnName & "]" & Coluntype & "")
Если ошибка, тогда
Errmsg ("New" & TableName & "Ошибка поля в таблице, пожалуйста, вручную создайте поле " & ColumnName & " в базе данных, атрибут " & columntype & " , ancome" & err.description)
Err.clear
Addcolumn = false
Еще
Addcolumn = true
Конец, если
Конечная функция
'Изменить общую функцию поля
Public Function Modcolumn (TableName, ColumnName, ColumnType)
При ошибке резюме следующим
Rlconn.execute ("Alter Table [" & TableName & "] ALTER COLMON [" & ColumnName & "]" & Coluntype & "")
Если ошибка, тогда
Call Errmsg («Изменить» и TableName & «Атрибут поля в таблице неверен, пожалуйста, вручную измените базу данных » и «Поле ColumnName &» на «Свойства " & columntype & " , вызывает" & err.description)
Err.clear
Modcolumn = false
Еще
Modcolumn = true
Конец, если
Конечная функция
'Удалить полевую функцию
Публичная функция Delcolumn (TableName, ColumnName)
При ошибке резюме следующим
Если sdbtype = "sql", тогда
Rlconn.execute ("Alter Table [" & Tablename & "] Drop Space Column [" & colunname & "]")
Еще
Rlconn.execute ("Alter Table [" & TableName & "] Drop Space [" & ColumnName & "]")
Конец, если
Если ошибка, тогда
Call Errmsg ("Delete" & TableName & "Ошибки поля в таблице, пожалуйста, удалите вручную " & ColumnName & " Delete, Cause" & Err.Description)
Err.clear
Delcolumn = false
Еще
Delcolumn = true
Конец, если
Конечная функция
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Откройте объект имени таблицы
Private Sub renametableConn ()
При ошибке резюме следующим
Установить objadoxdatabase = server.createObject ("adox.catalog")
objadoxdatabase.activeconnection = connstr
Если ошибка, тогда
ERRMSG («Произошла ошибка при создании объекта имени таблицы изменений. Пространство, которое вы обновляете, не поддерживает этот объект. Скорее всего, вам нужно изменить имя таблицы вручную, разум» и Err.Description)
Response.end
Err.clear
Конец, если
Конец суб
'Закрыть объект имени таблицы
Частный Sub SceerenametableConn ()
Установить objadoxdatabase = ничего
Conn.close
Установить conn = ничего
Конец суб
'Измените имя таблицы базы данных, параметры записи: имя старой таблицы, новое имя таблицы
Публичная функция ренаметабельно (OldName, NewName)
При ошибке резюме следующим
Вызовите renametableconn
objadoxdatabase.tables (oldname) .name = newname
Если ошибка, тогда
Call Errmsg («Измените ошибку имени таблицы, пожалуйста, вручную измените имя таблицы в базе данных » & OldName & « Имя таблицы на <b>» & newName & ", разум" & err.description)
Err.clear
RENAMETABLE = FALSE
Еще
RENAMETABLE = TRUE
Конец, если
Позвоните в Closerenametableeconn
Конечная функция
'Удалить таблицу общая функция
Публичная функция Deltable (табличное имя)
При ошибке резюме следующим
Rlconn.execute ("Drop Space Table [" & TableName & "]")
Если ошибка, тогда
Errmsg ("Delete" & TableName & "Table Error, пожалуйста, удалите таблицу" & Tablename & " в базе данных, разум" & err.description)
Err.clear
Deltable = false
Еще
Deltable = True
Конец, если
Конечная функция
'Создать новую таблицу
Общественная функция создается (Byval TableName, Byval FieldList)
Dim Strsql
Если sdbtype = "sql", тогда
Strsql = "Create Table [" & TableName & "] (" & FieldList & ")"
Еще
Strsql = "Создать таблицу [" & tablename & "]"
Конец, если
Rlconn.execute (strsql)
Если err.number <> 0, тогда
Call Errmsg ("New" & TableName & "Table Error, Cause" & Err.Description & "")
Err.clear ()
Createletable = false
Еще
Createletable = true
Конец, если
Конечная функция
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Создать файл базы данных
Общественная функция CreateBfile (Byval dbfilename, Byval SavePath)
При ошибке резюме следующим
SavePath = replace (savePath, "/", "/")
Если право (savePath, 1) <> "/" или right (savePath, 1) <> "/", затем savePath = trim (savePath) & "/"
Если осталось (dbfilename, 1) = "/" или слева (dbfilename, 1) = "/" Тогда dbfilename = trim (mid (dbfilename, 2, len (dbfilename))))))
Если dbexists (apppath () и savepath & dbfilename), то
Errmsg («Извините, эта база данных уже существует!» & Apppath () & savePath & dbfilename)
CensueBfile = false
Еще
Response.write apppath () и savepath & dbfilename
Dim Ca.
Установить ca = server.createObject ("adox.catalog")
Если err.number <> 0, тогда
Errmsg («Не может быть установлен, пожалуйста, проверьте сообщение об ошибке
"& Err.number &"
"& Err.description)
Err.clear
CensueBfile = false
Выходная функция
Конец, если
Позвоните CA.Create ("Provider = microsoft.jet.oledb.4.0; Data Source =" & apppath () & savePath & dbfilename)
Установить Ca = ничего
CensueBfile = true
Конец, если
Конечная функция
'Узнайте, существует ли файл базы данных
Частная функция dbexists (Byval dbpath)
При ошибке резюме следующим
Тусклый
Установить c = server.createObject ("adodb.connection")
C.Open "Provider = microsoft.jet.oledb.4.0; Data Source =" & dbpath
Если err.number <> 0, тогда
Err.clear
Dbexists = false
еще
Dbexists = true
Конец, если
Установить C = ничего
Конечная функция
'Пройдите по текущему реальному пути
Частная функция apppath ()
Apppath = server.mappath ("./")
Если правильно (apppath, 1) = "/" Тогда
Apppath = apppath
Еще
Apppath = apppath & "/"
Конец, если
Конечная функция
'Удалить файл базы данных
Публичная функция deletedbfile (filepec)
filepec = apppath () и filepec
Dim FSO
Установить fso = createObject ("scripting.filesystemobject")
Если err.number <> 0, тогда
ERRMSG («Ошибка произошла при удалении файла! Пожалуйста, проверьте сообщение об ошибке:« & err.number & »» и err.description & »
")
Err.clear
DeletedBfile = false
Конец, если
Если dbexists (filepec), то
вызовать fso.deletefile (filepec)
DeletedBfile = true
Еще
ERRMSG («Ошибка произошла при удалении файла! Пожалуйста, просмотрите сообщение об ошибке:« & err.number & »» & err.description & »
")
DeletedBfile = false
Выходная функция
Конец, если
Установить FSO = ничего
Конечная функция
'Изменить имя базы данных
Общественная функция переименована
FILESPEC1 = APPPATH () и FILESPEC1: FILESPEC2 = APPPATH () и FILESPEC2
Dim FSO
Установить fso = createObject ("scripting.filesystemobject")
Если err.number <> 0, тогда
Errmsg («Произошла ошибка при изменении имени файла! Пожалуйста, проверьте сообщение об ошибке:« & err.number & »» и Err.description)
Err.clear
Renamedbfile = false
Конец, если
Если dbexists (filepec1), то
вызовать fso.copyfile (filepec1, filepec2, true)
вызовать fso.deletefile (filepec1)
Renamedbfile = true
Еще
Errmsg («исходного файла не существует !!!»)
Renamedbfile = false
Выходная функция
Конец, если
Установить FSO = ничего
Конечная функция
'Сжатая база данных
Публичная функция CompactDbfile (strdbfilename)
Dim jet_conn_partial
Dim Sourceconn
Dim Destconn
DIM OJETENGINE
Dim Ofso
Jet_conn_partial = "Provider = microsoft.jet.oledb.4.0; Data Source ="
Sourceconn = jet_conn_partial & apppath () и strdbfilename
Destconn = jet_conn_partial & apppath () и "temp" & strdbfilename
Set ofso = server.createobject ("scripting.filesystemobject")
Установить ojetengine = server.createObject ("jro.jetengine")
С офсо
Если нет .FileExists (apppath () и strdbfilename), тогда
Errmsg ("файл базы данных не найден !!!")
Останавливаться
CompactDbfile = false
Выходная функция
Еще
If .filexists (apppath () и "temp" & strdbfilename) тогда
Errmsg ("неизвестная ошибка !!!")
.Deletefile (apppath () и "temp" & strdbfilename)
CompactDbfile = false
Выходная функция
Конец, если
Конец, если
Закончить с
С ojetengine
.Compactdatabase sourceconn, destconn
Закончить с
ofso.deletefile apppath () и strdbfilename
ofso.movefile apppath () и "temp" & strdbfilename, apppath () и strdbfilename
Наборсо = ничего
Установить ojetengine = ничего
CompactDbfile = true
Конечная функция
Конечный класс
DIM MANDB
Установить Mandb = new RlmandBCls
'// -----------------------------------------------------------------------------------------------------------------------
'Mandb.dbtype = "sql"
'Mandb.servername = "tao-kuizu"
'Mandb.username = "sa"
'Mandb.password = "123456"
'Mandb.dbpath = "hhstuss"
'Mandb.createTable "cexo255", "ID int не нулевой первичный ключ, имя varchar (20) не null" Создать таблицу (имя таблицы)
'Mandb.renametable "cexo255", "cexo2552" "Имя таблицы (имя старой таблицы, имя новой таблицы) (с помощью компонента)
'Mandb.deltable "cexo255"' Удалить таблицу (имя таблицы)
'Mandb.addcolumn "cexo255", "sex", "varchar (2) null"' Создать структуру таблицы (имя таблицы, имя поля, тип данных)
'Mandb.modcolumn "cexo255", "name", "int not null" изменить структуру таблицы (имя таблицы, имя поля, тип новых данных) _
'Mandb.delcolumn "cexo255", "sex"' Удалить структуру таблицы (имя таблицы, имя поля)
'Mandb.addindex "cexo255", "i_id", "id"' Create Table Index (имя таблицы, имя индекса, имя поля индекса)
'Mandb.delindex "cexo255", "i_id"' Удалить индекс таблицы (имя таблицы, имя индекса)
'Mandb.addprimarykey "cexo255", "name"' Создать первичный ключ таблицы (имя таблицы, имя полевого ключа)
'Mandb.delprimarykey "cexo255", "name"' Удалить первичную клавишу таблицы (имя таблицы, имя поля первичного ключа) _
'Response.write mandb.getprimarykey ("cexo255")' Получите основной ключ таблицы (имя таблицы)
'Mandb.upcolumn "cexo255", "id", 12345, "name = 1" изменить значение поля
'' Mandb.execute "вставить пространство в Cexo255 (id, name) значения (2,2)" 'добавить запись
'' Mandb.execute "Обновление cexo255 set id = 3, где имя = 2" 'изменить запись
'' Mandb.execute "Удалить пространство из cexo255, где имя = 2" 'Удалить запись
'Mandb.execute («Выберите счет (*) из cexo255"): response.write mandb.count' Статистика Количество записей
'Если mandb.checktable ("StudInfo"), то ответ. «Студийно -таблица существует !!!» Else response.write "Studinfo таблица не существует !!!"
'// -----------------------------------------------------------------------------------------------------------------------
'// -----------------------------------------------------------------------------------------------------------------------
Mandb.dbtype = "access"
Mandb.dbpath = "test.mdb"
'Mandb.createdbfile "test2.mdb", "" Создать базу данных (имя базы данных, путь сохранения)
'Mandb.deletedbfile ("test2.mdb")' Delete Database (имя базы данных)
'Mandb.renamedbfile "test2.mdb", "test3.mdb" "доменное имя (Имя старой базы данных, новое имя базы данных)
'Mandb.compactdbfile ("test3.mdb")' сжатая база данных (имя базы данных)
'Mandb.createTable "DW", ""' Create Table (имя таблицы)
'Mandb.Renametable "DW", "DW2" "Имя таблицы (имя старого таблицы, имя новой таблицы) (с помощью компонента) _
'Mandb.deltable "DW"' Delete Table (имя таблицы)
'Mandb.addcolumn "cexo255", "name", "varchar (255) не null" создать структуру таблицы (имя таблицы, имя поля, тип данных)
'Mandb.modcolumn "cexo255", "name", "int not null" изменить структуру таблицы (имя таблицы, имя поля, новый тип данных)
'Mandb.delcolumn "cexo255", "name"' Удалить структуру таблицы (имя таблицы, имя поля)
'Mandb.addindex "cexo255", "userid", "id"' Create Table Index (имя таблицы, имя индекса, имя поля индекса)
'Mandb.delindex "cexo255", "userid"' Удалить таблицу индекс (имя таблицы, имя индекса) _
'Mandb.addprimarykey "cexo255", "id"' Создать первичный ключ таблицы (имя таблицы, имя поля первичного ключа)
'Mandb.delprimarykey "cexo255", "id"' Удалить первичный ключ таблицы (имя таблицы, имя поля первичного ключа) _
'Response.write mandb.getprimarykey ("cexo255")' Получите основной ключ таблицы (имя таблицы)
'Mandb.upcolumn "cexo255", "id", "12345", "id =' 12 '" "изменить значение поля
'' Mandb.execute "вставить пространство в значения cexo255 (id) ('789')" 'добавить запись
'Mandb.execute "update cexo255 set id =' wxf ', где id =' 789 '"' modify record
'' Mandb.execute "Удалить пространство из cexo255, где id = 'wxf'" 'Удалить запись
Mandb.execute ("select count (*) из cexo255"): response.write mandb.count 'Статистика Количество записей
'Если mandb.checktable ("StudInfo"), то ответ. «Студийно -таблица существует !!!» Else response.write "Studinfo таблица не существует !!!"
'// -----------------------------------------------------------------------------------------------------------------------
Установить Mandb = ничего
%>
Выше приведено введение в шаги для управления онлайн -базами данных. Я считаю, что у всех есть определенное понимание. Если вы хотите узнать больше технической информации, пожалуйста, продолжайте обращать внимание на неправильный новый канал технологии!