Lo encontré buscando información en Internet, pero encontré algunos problemas durante la depuración. Después de algunas modificaciones, todavía hay algunos problemas, pero se puede usar para uso general. No se consideró el problema del tipo de datos y la diferencia entre SQL Server y el acceso. Lo mejoraré cuando tenga tiempo en el futuro. No sé qué tan eficiente será. Si alguien lo mejora por favor envíeme una copia.
Copie el código de la siguiente manera:<%
class SQLString
'************************************
'Definición de variable
' ***********************************
'sTableName ----
nombre de tabla'iSQLType --- - Tipo de declaración SQL: 0-agregar, 1-actualizar, 2-eliminar, 3-consultar Dónde
---- condición'sOrder
---- método de clasificación
SQL ---- valor
Private sTableName,iSQLType,sWhere,sOrder , sSQL
'************************************
'Inicialización/fin de clase
'************************************
Private Sub Class_Initialize()
sTableName=
iSQLType =0
sWhere=
sOrder=
sSQL=
End Sub
Private Sub Class_Terminate()
End Sub
'******************************** ** **
'Atributo
'************************************
'Establece el atributo
Público del nombre de la tabla Propiedad Let TableName(valor)
sTableName=valor
Propiedad final
'Establecer condiciones
Propiedad pública Let Where(valor)
sDónde=valor
Propiedad final
'Establecer el método de clasificación
Propiedad pública Let Order(valor)
sOrder=valor
Propiedad final
'Establecer el tipo de declaración de consulta
Propiedad pública Let SQLType(valor)
iSQLType=valor
seleccione caso iSQLType
caso 0
sSQL=insertar en {&*#}0 ( {& *#}1) valores ({&*#}2)
caso 1
sSQL=actualizar {&*#}0 conjunto {&*#}1={&*#}2
caso 2
sSQL=eliminar de {&*#}0
caso 3
sSQL=seleccione {&*#}1 de {&*#}0
final seleccione
Propiedad final
'******************** ****************
'Función
'****************************** * ****
'Agregar campo (nombre de campo, valor de campo)
Public Sub AddField(sFieldName,sValue)
seleccione caso iSQLType
caso 0
sSQL=replace(sSQL,{&*#}1,sFieldName &,{&*#}1)
sSQL=reemplazar(sSQL,{&*#}2, & sValue &,{&*#}2)
caso 1
sSQL=reemplazar(sSQL,{&*#}1,sFieldName)
sSQL=reemplazar(sSQL,{&* #}2, & sValor & ,{&*#}1={&*#}2)
caso 3
sSQL=replace(sSQL,{&*#}1,sFieldName & ,{&*#}1)
End Select
End Sub
'Función modificada que devuelve un valor de cadena
' Devolver declaración SQL
Función pública ReturnSQL()
sSQL=replace(sSQL, {&*#}0,sTableName)
seleccione caso iSQLType
caso 0
sSQL=reemplazar(sSQL,,{&*#}1,)
sSQL=reemplazar(sSQL,,{&*#}2,)
caso 1
sSQL=reemplazar(sSQL,,{&*#}1={&*#}2,)
caso 3
sSQL=reemplazar(sSQL,,{& *#}1,)
end Seleccione
si sWhere<> y iSQLType<>0 entonces
sSQL=sSQL & donde & sWhere
finalice si
si sOrder<> y iSQLType<>0 entonces
sSQL=sSQL & ordenar por & sOrder
end if
ReturnSQL=sSQL
End Function
'Devolver instrucción SQL
Función pública ReturnSQL1()
sSQL=replace(sSQL,{&*#}0,sTableName)
seleccione caso iSQLType
caso 0
sSQL=replace(sSQL, ,{&*#}1,)
sSQL=reemplazar(sSQL,,{&*#}2,)
caso 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
case 3
sSQL=replace(sSQL,,{&*#}1,)
end Seleccione
si sWhere<> y iSQLType<>0 entonces
sSQL=sSQL & donde & sDónde
termina si
si sOrder<> y iSQLType<>0 entonces
sSQL=sSQL & orden por & sOrder
termina si
ReturnSQL=sSQL
Función final
'Borrar declaración
Public Sub Clear()
sTableName=
iSQLType=0
sWhere=
sOrder=
sSQL=
End Sub
End class
%>
Ejemplo de llamada:
<%
set a =new SQLString 'Crear un objeto de clase
a.TableName= mensaje 'Establecer el nombre de la tabla al mensaje
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Establece el tipo de consulta para agregar registros
a.AddField incept, '2'
a.AddField remitente, '%3%'
a.AddField título, #&now&#
a.AddField remitente, 5
a.AddField contenido, 6
a.AddField tiempo de envío, 7
a.AddField indicador, 8
a.AddField issend, 9
Respuesta. Escribe a.ReturnSQl
establece a=nada
%>
<%
establece a =nueva SQLString 'Crear un objeto de clase
a.TableName= mensaje 'Establecer el nombre de la tabla mensaje
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Establecer el tipo de consulta para agregar registros
a.AddField incept, ' 2'
a.AddField remitente, '%3%'
a.AddField título, #&now&#
a.AddField remitente, 5
a.AddField contenido, 6
a.AddField tiempo de envío, 7
a.AddField indicador, 8
a.AddField issend, 9
Response.Write a.ReturnSQl
set a=nada
%>
<%
set a =new SQLString 'Crear objeto de clase
a.TableName= mensaje 'Establecer nombre de tabla Para el mensaje
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Establezca el tipo de consulta para agregar 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 indicador, 8
a.AddField se envía, 9
Response.Write a.ReturnSQl
establecido a=nada
%>