<٪@language = vbscript codepage = 936 ٪>
<٪ خيار صريح ٪>
<٪ استجابة. buffer = true ٪>
<٪
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ) ) //////////////////////// جونز
'///
'/// اسم الملف: sqlbuilderforvbs
'/// الوظيفة: بناء بعض عبارات SQL البسيطة.
'/// صانع البرامج: Zeng Siyuan
'/// الوصف: بناء الجملة SQL البسيط "Class" ، إصدار VBS ، طالما أنك تحتفظ بهذا قسم التعليقات التوضيحية ، سواء كان ذلك ينطوي على الأعمال التجارية أم لا ، يمكنك استخدامه بشكل تعسفي أو إعادة طباعة أو اقتباس
'/// التاريخ: 2005-1-8
'/// _____________________________________________________________________________________
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ) ) //////////////////////// جونز
٪>
<٪
عند استئناف الخطأ التالي
فئة QuestStringBuilder
prive objfields
strtableename الخاص
strpkey الخاص
strpkeysort الخاص
شرط خاص
خاص acate () ()
private stroperator
سترلوجيك الخاص
blnstate الخاص
'/----- التهيئة -----/
sub sub class_initialize ()
تعيين OBJFields = server.createBject (scripting.dictionary)
strtablename = فارغة
strpkey = فارغة
strpkeysort = فارغة
strcondition = فارغة
redim acontition (1)
strprorator = =
strlogic = و
blnstate = خطأ
نهاية الفرعية
sub sub class_terminate ()
تعيين Objfields = لا شيء
strtablename = فارغة
strpkey = فارغة
strpkeysort = فارغة
strcondition = فارغة
مسح acontition
strprorator = فارغة
strlogic = فارغة
blnstate = خطأ
نهاية الفرعية
' /---- معالجة اسم الحقل ----- /
وظائف خاصة Processfield (Byval Sfield)
ProcessField = [& Sfield &]
وظيفة نهاية
' /----- معالجة قيمة الحقل ------ /
PROCESSVALUE وظيفة خاصة (BYVAL SVALUE)
dimptype: tmptype = vartype (svalue)
حدد CASE TMPTYPE
الحالة 2،3،4،5،11 'النوع الرقمي ، النوع المنطقي
ProcessValue = svalue
نوع الحرف 8 '
ProcessValue = '& Safe (svalue) &'
حالة أخرى 'الأنواع الأخرى
ProcessValue = '& Safe (svalue) &'
نهاية الاختيار
وظيفة نهاية
' /----- علاج شامل ------ /
عملية الوظيفة الخاصة (Byref OBJ ، Byval Strtype)
مفاتيح قاتمة: مفاتيح = obj.keys
العناصر الخافتة: العناصر = obj.items
خافت intcount: intcount = obj.count
Dim TMP ()
redim TMP (1)
إذا intcount> 0 ثم
dim tmparray () ، أنا
redim tmparay (intcount-1)
لأني = 0 إلى intcount -1
tmparray (i) = Keys (i) & = & head (i)
التالي
حدد Case Ucase (Trim (Strtype))
تحديث القضية
العملية = الانضمام (tmparray ،،)
حالة اختيار
العملية = الانضمام (المفاتيح ،)
إدراج القضية
TMP (0) = Join (Keys ،،)
TMP (1) = انضم (العناصر ،)
العملية = TMP
مسح TMP
نهاية الاختيار
مسح tmparray
آخر
حدد Case Ucase (Trim (Strtype))
تحديث القضية
العملية = خطأ
حالة اختيار
العملية = *
إدراج القضية
العملية = TMP
نهاية الاختيار
إنهاء إذا
وظيفة نهاية
' /----- علاج أمني صغير ----- /
توفير الوظائف الخاصة (S)
آمن = استبدال (s ، '،' ')
وظيفة نهاية
' /----- معلمات المدخلات السابقة ، ولكن الاحتفاظ بالاسم الجليدي ------ / /
واضحة فرعية عامة ()
objfields.removeall
'strtableneame = فارغة
strpkey = فارغة
strpkeysort = فارغة
strcondition = فارغة
مسح acontition
strprorator = =
strlogic = و
blnstate = خطأ
نهاية الفرعية
' /---- إنشاء بيانات الاستعلام ---- /
وظيفة عامة getSelect ()
dim strsqltemplate: strsqltemplate = select {fields} من {table} {ظروف} {orderby} {sort}
strsqltemplate = استبدال (strsqltemplate ، {fields} ، العملية (objfields ، select)))
إذا كان masspe (strtableneame) = 1 ثم الخروج وظيفة
strsqltemplate = استبدال (strsqltemplate ، {table} ، strtableneame)
إذا masspe (strcondition) <> 1 و strcondition <> ثم
strsqltemplate = استبدال (strsqltem