<% @ Language = codepage VBScript = 936%>
<% Option explicite%>
<% Réponse.buffer = true%>
<%
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ///// glesle ///////////////////////////////////////////////////////////////////////////////////DRANT ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / //////////////// ggestle as ////////////////////////////////////// /////////////////////////////////////////////////// ////////////////////// Gons
'///
'/// Nom du fichier: sqlbuilderforvbs
'/// Fonction: créez des instructions SQL simples.
'/// Programmaker: Zeng Siyuan
'/// Description: "classe" de phrase SQL simple, version VBS, tant que vous conservez cette section d'annotation, qu'elle implique ou non les affaires, vous pouvez l'utiliser arbitrairement, réimprimer ou citer
'/// Date: 2005-1-8
'/// _____________________________________________________________________________________________________
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ///// glesle ///////////////////////////////////////////////////////////////////////////////////DRANT ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / //////////////// ggestle as ////////////////////////////////////// /////////////////////////////////////////////////// ////////////////////// Gons
%>
<%
Sur l'erreur reprendre ensuite
Class QueststringBuilder
Prive Objfields
Strtablename privé
Strpkey privé
Strpkeysort privé
Strcondition privée
ACATE privé () ()
Stroperator privé
Strlogic privé
Blnstate privé
'/ ----- Initialisation ----- /
Private Sub class_Initialize ()
Définir objFields = Server.CreateObject (Scripting.Dictionary)
strTablename = null
strpkey = null
strpkeysort = null
Strcondition = null
Acontition Redim (1)
Stroprator = =
strlogic = et
BlnState = false
Sub-Sub
Private Sub class_termiate ()
définir objFields = rien
strTablename = null
strpkey = null
strpkeysort = null
Strcondition = null
Effacer l'acontition
Stroprator = null
strlogic = null
BlnState = false
Sub-Sub
'/ ---- Traitement du nom de champ ----- /
Fonction Private ProcessField (ByVal Sfield)
ProcessField = [& sfield &]
fonction finale
'/ ----- Traitement de la valeur du champ ------ /
Fonction Private ProcessValue (ByVal SValue)
Tmptype dim: tmpType = vartype (svalue)
Sélectionnez Case TMPTYPE
Case 2,3,4,5,11 'Type numérique, type booléen
ProcessValue = svalue
Type de caractères de cas 8 '
ProcessValue = '& Safe (svalue) &'
Cas sinon les autres types
ProcessValue = '& Safe (svalue) &'
fin de sélection
fonction finale
'/ ----- Traitement complet ------ /
Processus de fonction privée (ByRef Obj, Byval Strype)
Clés sombres: clés = obj.keys
Éléments sombres: éléments = obj.items
Dim intCount: intCount = obj.Count
Dim TMP ()
Redim TMP (1)
Si intCount> 0 alors
dim tmparray (), je
Redim tmparay (intCount-1)
pour i = 0 à intcount -1
tmpArray (i) = clés (i) & = & items (i)
suivant
Sélectionnez le boîtier UCase (Trim (strType))
Mise à jour des cas
Processus = join (tmparray ,,)
Sélection du cas
Processus = jointure (clés ,,)
insert de cas
Tmp (0) = join (clés ,,)
Tmp (1) = jointure (éléments ,,)
Processus = TMP
Effacer TMP
fin de sélection
Effacer tmparray
autre
Sélectionnez le boîtier UCase (Trim (strType))
Mise à jour des cas
Processus = faux
Sélection du cas
Processus = *
insert de cas
Processus = TMP
fin de sélection
terminer si
fonction finale
'/ ----- Small Security Treatment ----- /
Économie (s) des fonctions privées
SAFE = remplacer (S, ',' ')
fonction finale
'/ ----- Les paramètres de l'entrée précédente, mais en conservant TableEname ------ /
Public sub clear ()
objfields.removeall
'Strtableneame = null
strpkey = null
strpkeysort = null
Strcondition = null
Effacer l'acontition
Stroprator = =
strlogic = et
BlnState = false
Sub-Sub
'/ ---- générer des instructions de requête ---- /
Fonction publique getSelect ()
Dim strSqlTemplate: strSQlTemplate = select {fields} From {Table} {Conditions} {OrderBy} {Sort}
StrSQlTemplate = Remplace (strSQlTemplate, {Fields}, Process (objFields, SELECT))
Si masspe (strtableneame) = 1 alors la fonction de sortie
StrSQlTemplate = Remplace (strSQlTemplate, {Table}, strTableneame)
Si Masspe (strCondition) <> 1 et strCondition <> alors
strSqlTemplate = Remplacer (strSqltem