Я нашел его путем поиска информации в Интернете, но обнаружил некоторые проблемы при отладке. После некоторых доработок все еще есть некоторые проблемы, но его можно использовать для общего использования. Проблема с типом данных и разница между SQL Server и доступом не рассматривались. Я улучшу это, когда у меня будет время, не знаю, насколько это будет эффективно. Если кто-нибудь улучшит его, пришлите мне копию.
Скопируйте код следующим образом:<%
class SQLString
'************************************
'Определение переменной
' *************************************
'sTableName ----
имя таблицы'iSQLType --- - Тип оператора SQL: 0-добавление, 1-обновление, 2-удаление, 3-запрос'sWhere
---- условие'sOrder
---- метод сортировки
SQL ---- значение
Private sTableName,iSQLType,sWhere,sOrder , sSQL
'************************************
'Инициализация/завершение класса
'************************************
Private Sub Class_Initialize()
sTableName=
iSQLType =0
sWhere=
sOrder=
sSQL=
End Sub
Private Sub Class_Terminate()
End Sub
'******************************** ** **
'Атрибут
'************************************
'Установите атрибут
Public имени таблицы Property Let TableName(value)
sTableName=value
End Property
'Установить условия
Public Property Let Where(value)
sWhere=value
End Property
'Установить метод сортировки
Public Property Let Order(value)
sOrder=value
End Property
'Установить тип оператора запроса
Открытое свойство Let SQLType(value)
iSQLType=value
select case iSQLType
case 0
sSQL=insert in {&*#}0 ( {& *#}1) значения ({&*#}2)
случай 1
sSQL=update {&*#}0 set {&*#}1={&*#}2
случай 2
sSQL=delete from {&*#}0
case 3
sSQL=select {&*#}1 from {&*#}0
end select
End Property
'******************** ****************
'Функция
'****************************** * ****
'Добавить поле (имя поля, значение поля)
Public Sub AddField(sFieldName,sValue)
select case iSQLType
case 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 Select
End Sub
'Модифицированная функция, возвращающая строковое значение
' Возврат оператора SQL
Public Function ReturnSQL()
sSQL=replace(sSQL , {&*#}0,sTableName)
выберите регистр iSQLType
case 0
sSQL=replace(sSQL,,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
случай 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
случай 3
sSQL=replace(sSQL,,{& *#}1,)
end Выберите
, если sWhere<> и iSQLType<>0 then
sSQL=sSQL & где & sWhere
end if
if sOrder<> и iSQLType<>0 then
sSQL=sSQL & упорядочить по & sOrder
end if
ReturnSQL=sSQL
End Function
'Возврат оператора SQL
Открытая функция ReturnSQL1()
sSQL=replace(sSQL,{&*#}0,sTableName)
select case iSQLType
case 0
sSQL=replace(sSQL, ,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
случай 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
case 3
sSQL=replace(sSQL,,{&*#}1,)
end Выберите
, если sWhere<> и iSQLType<>0 then
sSQL=sSQL & где & sWhere
end if
if sOrder<> и iSQLType<>0 then
sSQL=sSQL & order by & sOrder
end if
ReturnSQL=sSQL
End Function
'Очистка оператора
Public Sub Clear()
sTableName=
iSQLType=0
sWhere=
sOrder=
sSQL=
End Sub
End class
%>
Пример вызова:
<%
set a =new SQLString 'Создать объект класса
a.TableName= message 'Установить имя таблицы to message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Установите тип запроса для добавления записей
a.AddField incept, '2'
a.AddField sender, '%3%'
a.AddField title, #&now&#
a.AddField sender, 5
a.AddField content, 6
a.AddField sendtime, 7
a.AddField flag, 8
a.AddField issend, 9
Response. Напишите a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Создать объект класса
a.TableName= message 'Установить имя таблицы message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Установить тип запроса для добавления записей
a.AddField incept, ' 2'
a.AddField sender, '%3%'
a.AddField title, #&now&#
a.AddField sender, 5
a.AddField content, 6
a.AddField sendtime, 7
a.AddField flag, 8
a.AddField issend, 9
Response.Write a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Создать объект класса
a.TableName= message 'Установить имя таблицы Для сообщения
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Установите тип запроса для добавления записей
a.AddField incept, '2'
a.AddField sender, '%3%'
a.AddField title, #&now&#
a.AddField sender, 5
a.AddField content, 6
a.AddField sendtime , 7
a.AddField флаг, 8
a.AddField issend, 9
Response.Write a.ReturnSQl
set а=ничего
%>