إنه بالفعل صداع للحلق من خلال مستويات التصنيف اللانهائية.
على سبيل المثال ، نحتاج إلى حل محدد أو جدول وكتابة الكثير من الأحكام.
هل هناك طريقة أفضل؟
نهجي هو إنشاء صفيف ، يمكنك تسميته مرارًا وتكرارًا ، فقط حلقة الصفيف مباشرة.
للراحة ، كتبت في فصل.
class.asp
إرجاع مجموعة من جميع الفئات والأنواع
هناك 4 سمات:
انسخ الرمز على النحو التالي: setaa = newClassList
aa.id = "id" // اسم الرقم
AA.ClassName = "classname" // اسم التصنيف
aa.pid = "pid" // اسم معرف الأصل
aa.db_name = "class" // اسم الجدول
قائمة = aa.arrylist ()
انسخ الرمز على النحو التالي: <٪
ClassClasslist
privatec_id
privatec_db_name
privatec_pid
privatec_classname
PublicPropertyletid (STR)
c_id = str
endproperty
publicpropertyletdb_name (str)
c_db_name = str
endproperty
PublicPropertyletpid (STR)
c_pid = str
endproperty
PublicPropertyletClassName (STR)
c_className = str
endproperty
dimlist ()
ديمي ، ن
privatesubclass_initialize () "تهيئة المتغير
أنا = 0
ن = 0
ينتهي
publicfunctionClassarry (thisid ، pid) 'احصل على المعرف السفلي
ifpid> 0then
sql = "SELECT*from" & c_db_name & "where" & c_pid & "=" & thisid
آخر
sql = "SELECT*from" & c_db_name & "where" & c_id & "=" & thisid
Endif
setrs_c = conn.execute (SQL)
n = n+1
dowhilenotrs_c.eof
قائمة (0 ، i) = rs_c (c_id) "تحميل في صفيف
قائمة (1 ، i) = rs_c (c_classname)
قائمة (2 ، i) = n
'n = n+1
i = i+1
thisid = classarry (RS_C (C_ID) ، 1) 'هنا مكالمة متكررة حتى الفئة الفرعية الأخيرة
RS_C.Movenext
حلقة
ن = ن -1
RS_C.Close
الوظيفية
publicfunctionArryList () 'حلقات جميع فئات الجذر
setrs_c = conn.execute ("selectCount (" & c_id & ") من" & c_db_name)
الطول = RS_C (0)
RS_C.Close
Redimlist (2 ، lenght) "تعيين الصفيف
SETRS1 = CONN.EXECUTE ("SELECT" & C_ID & "من" & c_db_name & "where" & c_pid & "= 0")
dowhilenotrs1.eof
CallClassarry (RS1 (C_ID) ، 0)
'ن = 1
rs1.movenext
حلقة
RS1.Close
arryllist = قائمة
الوظيفية
endclass
٪>
اختبار مثال:
فئة الجدول
الحقول
المعرف: الترقيم التلقائي
classname: الاسم
PID: معرف الوالدين