Je l'ai trouvé en recherchant des informations en ligne, 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.
<%
'Classe qui génère des chaînes SQL.
'Œuvre originale : Anonyme
'Amélioration : aloxy
'E-mail : [email protected]
'OICQ:331622229
classeSQLString
'************************************
'Définition variable
'************************************
'sTableName ---- nom de la table
'iSQLType ----Type d'instruction SQL : 0-ajout, 1-mise à jour, 2-suppression, 3-requête
'Où ---- condition
'sOrder ---- méthode de tri
'sSQL ----ValuePrivate
sTableName,iSQLType,sWhere,sOrder,sSQL
'******************************** * ***
'Initialisation/fin de classe
'************************************
Sous-classe privée_Initialize()
sTableName=""
iSQLType=0
sOù=""
sCommande=""
SQL=""
End Sub
Private Sub Class_Terminate()
End Sub
'************************************
'propriété
'************************************
'Définissez les propriétés du nom de la table
Propriété publique Let TableName (valeur)
sTableName=valeur
Propriété de fin
'Définir les conditions
Propriété publique louée où (valeur)
sOù=valeur
Propriété de fin
'Définir la méthode de tri
Propriété publique laissée en ordre (valeur)
sOrdre=valeur
Propriété de fin
'Définir le type d'instruction de requête
Propriété publique Soit SQLType (valeur)
iSQLType=valeur
sélectionner le cas iSQLType
cas 0
sSQL="insérer dans les valeurs #0 (#1) (#2)"
cas 1
sSQL="mise à jour #0 définie #1=#2"
cas 2
sSQL="supprimer de #0"
cas 3
sSQL="sélectionner #1 parmi #0 "
fin de la sélection
Fin de la propriété
'************************************
'fonction
'************************************
'Ajouter un champ (nom du champ, valeur du champ)
Public Sub AddField(sFieldName,sValue)
sélectionner le cas iSQLType
cas 0
sSQL=remplacer(sSQL,"#1",sFieldName & ","#1")
sSQL=remplacer(sSQL,"#2","'" & sValue & "',#2")
cas 1
sSQL=remplacer(sSQL,"#1",sFieldName)
sSQL=remplacer(sSQL,"#2","'" & sValue & "',#1=#2")
cas 3
sSQL=remplacer(sSQL,"#1",sFieldName & ","#1")
Fin de la sélection
End Sub
'Retour de l'instruction SQL
Fonction publique ReturnSQL()
sSQL=remplacer(sSQL,"#0",sTableName)
sélectionner le cas iSQLType
cas 0
sSQL=remplacer(sSQL,",#1","")
sSQL=remplacer(sSQL,",#2","")
cas 1
sSQL=remplacer(sSQL,",#1=#2","")
cas 3
sSQL=remplacer(sSQL,",#1","")
fin Sélectionner
si sWhere<>"" et iSQLType<>0 alors
sSQL=sSQL & " où " & sOù
finir si
si sOrder<>"" et iSQLType<>0 alors
sSQL=sSQL & " trier par " & sOrder
finir si
RetourSQL=sSQL
End Function
'Effacer l'instructionPublic
Sub Clear()
sTableName=""
iSQLType=0
sOù=""
sCommande=""
SQL=""
Fin du sous-marin
Fin du cours
%>
<%
"Ce qui suit est un exemple d'appel. Pour les problèmes de type de données, veuillez continuer à modifier la définition dans la classe ci-dessus. Si vous avez des questions, vous pouvez me les poser.
set a =new SQLString 'Créer un objet de classe
a.TableName=" message " 'Définit le nom de la table sur message
'a.where=" envoyer =9"
'a.order=" envoyer 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 ", " 4 "
a.AddField "expéditeur", "5"
a.AddField "contenu", "6"
a.AddField " heure d'envoi ", " 7 "
a.AddField "drapeau", 8
a.AddField " issend ", 9
Response.Write a.ReturnSQl
définir a = rien
%>