Encontrei pesquisando informações na Internet, mas encontrei alguns problemas durante a depuração. Após algumas modificações, ainda existem alguns problemas, mas pode ser usado para uso geral. A questão do tipo de dados e a diferença entre o SQL Server e o acesso não foram consideradas. Vou melhorá-lo quando tiver tempo no futuro, não sei o quão eficiente será. Se alguém melhorar, por favor me envie uma cópia.
Copie o código da seguinte forma:<%
class SQLString
'************************************
'Definição de variável
' ************************************
'sTableName ----
nome da tabela'iSQLType --- - Tipo de instrução SQL: 0-adicionar, 1-atualizar, 2-excluir, 3-query'sWhere
---- condição'sOrder
----
método de classificação'sSQL ---- valor
Private sTableName,iSQLType,sWhere,sOrder ,sSQL
'************************************
'Inicialização/fim da classe
'**********************************
Private Sub Class_Initialize()
sTableName=
iSQLType =0
sWhere=
sOrder=
sSQL=
End Sub
Private Sub Class_Terminate()
End Sub
'******************************** ** **
'Atributo
'**********************************
'Define o atributo
Public do nome da tabela Property Let TableName(valor)
sTableName=valor
End Property
'Definir condições
Propriedade Pública Let Where(value)
sWhere=value
End Property
'Definir o método de classificação
Public Property Let Order(value)
sOrder=value
End Property
'Definir o tipo de instrução de consulta
Public property Let SQLType(value)
iSQLType=value
select case iSQLType
case 0
sSQL=insert into {&*#}0 ( {& *#}1) valores ({&*#}2)
caso 1
sSQL=atualizar {&*#}0 conjunto {&*#}1={&*#}2
caso 2
sSQL=delete de {&*#}0
case 3
sSQL=select {&*#}1 de {&*#}0
end select
End Property
'********************** ****************
'Função
'****************************** * ****
'Adicionar campo (nome do campo, valor do campo)
Public Sub AddField(sFieldName,sValue)
select case iSQLType
case 0
sSQL=replace(sSQL,{&*#}1,sFieldName & ,{&*#}1 )
sSQL=replace(sSQL,{&*#}2, & sValue & ,{&*#}2)
caso 1
sSQL=replace(sSQL,{&*#}1,sFieldName)
sSQL=replace(sSQL,{&* #}2, & sValue & ,{&*#}1={&*#}2)
caso 3
sSQL=replace(sSQL,{&*#}1,sFieldName & ,{&*#}1)
End Select
End Sub
'Função modificada que retorna um valor de string
' Retorna instrução SQL
Função Pública ReturnSQL()
sSQL=replace(sSQL , {&*#}0,sTableName)
selecione caso iSQLType
case 0
sSQL=replace(sSQL,,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
caso 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
caso 3
sSQL=replace(sSQL,,{& *#}1,)
end Selecione
se sWhere<> e iSQLType<>0 then
sSQL=sSQL & where & sWhere
end if
if sOrder<> e iSQLType<>0 then
sSQL=sSQL & ordenar por & sOrder
end if
ReturnSQL=sSQL
End Function
'Retornar instrução SQL
Função Pública ReturnSQL1()
sSQL=replace(sSQL,{&*#}0,sTableName)
select case iSQLType
case 0
sSQL=replace(sSQL, ,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
caso 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
case 3
sSQL=replace(sSQL,,{&*#}1,)
end Selecione
se sWhere<> e iSQLType<>0 then
sSQL=sSQL & where & sWhere
end if
if sOrder<> e iSQLType<>0 then
sSQL=sSQL & order by & sOrder
end if
ReturnSQL=sSQL
End Function
'Instrução clara
Public Sub Clear()
sTableName=
iSQLType=0
sWhere=
sOrder=
sSQL=
End Sub
End class
%>
Exemplo de chamada:
<%
set a =new SQLString 'Crie um objeto de classe
a.TableName= message 'Defina o nome da tabela to message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Defina o tipo de consulta para adicionar registros
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. Escreva a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Crie um objeto de classe
a.TableName= message 'Defina o nome da tabela message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Defina o tipo de consulta para adicionar registros
a.AddField incept, ' 2'
a.AddField remetente , '%3%'
a.AddField título , #&agora&#
a.AddField remetente , 5
a.AddField conteúdo , 6
a.AddField sendtime , 7
a.AddField flag, 8
a.AddField issend , 9
Response.Write a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Criar objeto de classe
a.TableName= mensagem 'Definir nome da tabela Para mensagem
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Definir o tipo de consulta para adicionar registros
a.AddField incept, '2'
a.AddField sender , '%3%'
a.AddField title , #&now&#
a.AddField sender , 5
a.AddField content , 6
a.AddField sendtime , 7
sinalizador a.AddField, 8
a.AddField issend, 9
Response.Write a.ReturnSQl
set a=nada
%>