Je l'ai trouvé en recherchant des informations sur Internet, mais j'ai trouvé quelques problèmes lors du débogage. Après quelques modifications, il reste encore quelques problèmes, mais il peut être utilisé pour un usage général. Le problème du type de données et la différence entre SQL Server et l'accès n'ont pas été pris en compte. Je l'améliorerai quand j'aurai le temps à l'avenir, je ne sais pas à quel point ce sera efficace. Si quelqu'un l'améliore, envoyez-moi une copie.
Copiez le code comme suit :<%
class SQLString
'************************************
'Définition de la variable
' ***********************************
'sTableName ----
nom de la table'iSQLType --- - Type d'instruction SQL : 0-ajout, 1-mise à jour, 2-suppression, 3-requête'sWhere
---- condition'sOrder
----
méthode de tri'sSQL ---- valeur
Private sTableName,iSQLType,sWhere,sOrder , SQL
'************************************
'Initialisation/fin de classe
'***********************************
Private Sub Class_Initialize()
sTableName=
iSQLType =0
sWhere=
sOrder=
sSQL=
End Sub
Private Sub Class_Terminate()
End Sub
'******************************** ** **
'Attribute
'************************************
'Définir l'attribut
Public du nom de table Property Let TableName(value)
sTableName=value
End Property
'Définir les conditions
Propriété publique Let Where(value)
sWhere=value
End Property
'Définir la méthode de tri
Propriété publique Let Order(value)
sOrder=value
End Property
'Définir le type d'instruction de requête
Propriété publique Let SQLType(value)
iSQLType=value
select case iSQLType
case 0
sSQL=insert into {&*#}0 ( {& *#}1) valeurs ({&*#}2)
cas 1
sSQL=update {&*#}0 set {&*#}1={&*#}2
cas 2
sSQL=supprimer à partir de {&*#}0
case 3
sSQL=select {&*#}1 à partir de {&*#}0
end select
End Property
'******************** ****************
'Fonction
'****************************** * ****
'Ajouter un champ (nom du champ, valeur du champ)
Public Sub AddField(sFieldName,sValue)
select case iSQLType
case 0
sSQL=replace(sSQL,{&*#}1,sFieldName & ,{&*#}1 )
sSQL=replace(sSQL,{&*#}2, & sValue &,{&*#}2)
cas 1
sSQL=replace(sSQL,{&*#}1,sFieldName)
sSQL=replace(sSQL,{&* #}2, & sValeur & ,{&*#}1={&*#}2)
cas 3
sSQL=replace(sSQL,{&*#}1,sFieldName & ,{&*#}1)
End Select
End Sub
'Fonction modifiée qui renvoie une valeur de chaîne
' Renvoie l'instruction SQL
Public Function ReturnSQL()
sSQL=replace(sSQL , {&*#}0,sTableName)
sélectionnez le cas iSQLType
cas 0
sSQL=replace(sSQL,,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
cas 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
cas 3
sSQL=replace(sSQL,,{& *#}1,)
end Sélectionnez
si sWhere<> et iSQLType<>0 alors
sSQL=sSQL & où & sWhere
end if
if sOrder<> et iSQLType<>0 alors
sSQL=sSQL & classer par & sOrder
end if
ReturnSQL=sSQL
End Function
'Return SQL instruction
Public Function ReturnSQL1()
sSQL=replace(sSQL,{&*#}0,sTableName)
select case iSQLType
case 0
sSQL=replace(sSQL, ,{&*#}1,)
sSQL=replace(sSQL,,{&*#}2,)
cas 1
sSQL=replace(sSQL,,{&*#}1={&*#}2,)
cas 3
sSQL=replace(sSQL,,{&*#}1,)
end Sélectionnez
si sWhere<> et iSQLType<>0 alors
sSQL=sSQL & où & sWhere
fin si
si sOrder<> et iSQLType<>0 alors
sSQL=sSQL & ordre par & sOrder
fin si
ReturnSQL=sSQL
End Function
'Instruction Clear
Public Sub Clear()
sTableName=
iSQLType=0
sWhere=
sOrder=
sSQL=
End Sub
End class
%>
Exemple d'appel :
<%
set a =new SQLString 'Créer un objet de classe
a.TableName= message 'Définir le nom de la table au message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Définit le type de requête pour ajouter des enregistrements
a.AddField incept, '2'
a.AddField expéditeur, '%3%'
a.AddField titre, #&now&#
a.AddField expéditeur, 5
a.AddField contenu, 6
a.AddField sendtime, 7
a.AddField indicateur, 8
a.AddField issend, 9
Réponse. Écrivez a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Créer un objet de classe
a.TableName= message 'Définir le message du nom de la table
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Définir le type de requête pour ajouter des enregistrements
a.AddField incept, ' 2'
a.AddField expéditeur , '%3%'
a.AddField titre , #&now&#
a.AddField expéditeur , 5
a.AddField contenu , 6
a.AddField sendtime , 7
a.AddField flag, 8
a.AddField issend , 9
Response.Write a.ReturnSQl
set a=nothing
%>
<%
set a =new SQLString 'Créer un objet de classe
a.TableName= message 'Définir le nom de la table Pour le message
'a.where= issend =9
'a.order= issend desc
a.SQLType=0 'Définissez le type de requête pour ajouter des enregistrements
a.AddField incept, '2'
a.AddField expéditeur, '%3%'
a.AddField titre, #&now&#
a.AddField expéditeur, 5
a.AddField content, 6
a.AddField sendtime , 7
a.AddField flag, 8
a.AddField issend, 9
Response.Write a.ReturnSQl
set a=rien
%>