Я нашел это путем поиска информации в Интернете, но во время отладки обнаружил некоторые проблемы.
После некоторых доработок все еще есть некоторые проблемы, но его можно использовать для общего пользования.
Проблема с типом данных и разница между SQL Server и доступом не рассматривались. Я улучшу это, когда у меня будет время, не знаю, насколько это будет эффективно.
Если кто-нибудь улучшит его, пришлите мне копию.
<%
'Класс, генерирующий строки SQL.
'Оригинальная работа: Аноним
'Улучшение: алокси
'Электронная почта: [email protected]
'OICQ: 331622229
классSQLString
'************************************
'Определение переменной
'************************************
'sTableName ---- имя таблицы
'iSQLType ----Тип оператора SQL: 0-добавление, 1-обновление, 2-удаление, 3-запрос
'Где ---- условие
'sOrder ---- метод сортировки
'sSQL ----ValuePrivate
sTableName,iSQLType,sWhere,sOrder,sSQL
'******************************** * ***
'Инициализация/завершение класса
'************************************
Частный подкласс_Initialize()
sTableName=""
iSQLType=0
sГде=""
сОрдер=""
sSQL=""
End Sub
Private Sub Class_Terminate()
End Sub
'************************************
'свойство
'************************************
'Установим свойства имени таблицы
Открытое свойство Let TableName(значение)
sTableName=значение
Конечная собственность
'Установить условия
Общественная собственность Let Где(значение)
sWhere=значение
Конечная собственность
'Установить метод сортировки
Порядок сдачи в аренду государственной собственности (стоимость)
sOrder=значение
Конечная собственность
'Установить тип запроса.
Свойство StatementPublic Let SQLType(value)
iSQLType=значение
выберите регистр iSQLType
случай 0
sSQL="вставить в значения #0 (#1) (#2)"
случай 1
sSQL="обновление №0, набор №1=#2"
случай 2
sSQL="удалить из #0"
случай 3
sSQL="выберите #1 из #0"
конец выбора
Конечный объект
'************************************
'функция
'************************************
'Добавить поле (имя поля, значение поля)
Public Sub AddField(sFieldName,sValue)
выберите регистр iSQLType
случай 0
sSQL=replace(sSQL,"#1",sFieldName & ",#1")
sSQL=replace(sSQL,"#2","'" & sValue & "',#2")
случай 1
sSQL=replace(sSQL,"#1",sFieldName)
sSQL=replace(sSQL,"#2","'" & sValue & "',#1=#2")
случай 3
sSQL=replace(sSQL,"#1",sFieldName & ",#1")
Конец выбора
End Sub
'Возврат оператора SQL
Открытая функция ReturnSQL()
sSQL=replace(sSQL,"#0",sTableName)
выберите регистр iSQLType
случай 0
sSQL=заменить(sSQL,",#1","")
sSQL=заменить(sSQL,",#2","")
случай 1
sSQL=replace(sSQL,",#1=#2","")
случай 3
sSQL=заменить(sSQL,",#1","")
конец Выбрать
если sWhere<>"" и iSQLType<>0, то
sSQL=sSQL & "где" & sWhere
конец, если
если sOrder<>"" и iSQLType<>0, то
sSQL=sSQL & "упорядочить по" & sOrder
конец, если
ВозвратSQL=sSQL
Конечная функция
'Очистить операторPublic
Sub Clear()
sTableName=""
iSQLType=0
sГде=""
сОрдер=""
sSQL=""
Конец субтитра
Конец урока
%>
<%
«Ниже приведен пример вызова. При возникновении проблем с типами данных продолжайте изменять определение в приведенном выше классе. Если у вас есть какие-либо вопросы, вы можете задать их мне.
set a =new SQLString 'Создать объект класса
a.TableName=" message " 'Установить имя таблицы message
'a.where=" issend =9"
'a.order="исправить описание"
a.SQLType=0 'Установите тип запроса для добавления записей
a.AddField "начало", "2"
a.AddField "отправитель", "3"
a.AddField "заголовок", "4"
a.AddField "отправитель", "5"
a.AddField "контент", "6"
a.AddField "время отправки", "7"
a.AddField "флаг", 8
a.AddField "issend", 9
Response.Write a.ReturnSQl
установить = ничего
%>