當前位置:編程學習大全網 - 源碼下載 - 用ASP+SQL能否實現壹個樹型的班級人員管理結構。求代碼 576413098@qq.com

用ASP+SQL能否實現壹個樹型的班級人員管理結構。求代碼 576413098@qq.com

給妳壹個分類算法吧。希望能有幫助

壹、分類模型設計

父類別ID parentID

類別編碼 ClassID

是否有子類別 Hchild 默認值0

分類名稱 ClassName

類別層次 ClassGrd 默認值1

二、類別編碼設計

從101開始編碼,子類別的編碼前綴與父類別相同

類別編碼

101

10101

10102

1010101

1010102

三、分類算法

0、計算當前分類ClassID的父類別

select * from table where ParentID=當前類別ParentID and ClassGrd=當前類別ClassGrd-1

1、計算當前分類ClassID的子類別

select * from table where ClassID like '%當前分類ClassID%' and ClassGrd=當前類別ClassGrd+1

2、計算當前分類ClassID的所有子類別

sub AllClass(ClassID,conn)

RsClassGrd=conn.execute(select ClassGrd from table where ClassID=ClassID)

RsCurClass=conn.execute(select * from table where ClassID like '%當前分類ClassID%' and ClassGrd=RsClassGrd(0)+1)

if not RsCurClass.eof

AllClass(RsCurClass("ClassID"),conn)

end if

end sub

3、添加分類

判斷是否為壹級分類

若是

計算現有分類的Max(parentID),

if Max(parentID)=null

新分類parentID=1

else

新分類parentID=Max(parentID)+1

end if

計算現有分類Max(ClassID)

if Max(ClassID)=null then

新分類ClassID="101"

else

新分類ClassID=Max(ClassID)+1

end if

新分類Hchild=0

新分類ClassGrd=1

否則

更新父分類ClassID的Hchild->1

計算父分類ClassID的ClassGrd

新分類ClassGrd=父分類ClassGrd+1

計算父分類ClassID的ParentID

新分類ParentID=父分類ParentID

計算父分類ClassID的子類別Max(ClassID)

if Max(ClassID)=null

新分類ClassID=父分類ClassID&"01"

else

新分類ClassID=父分類ClassID&Max(ClassID)+1

end if

新分類ClassName=xxxx

4、修改分類名稱

根據ClassID更新ClassName

5、刪除分類

判斷是否有子類別

若是

刪除當前分類及所有子類別

否則

刪除當前分類

若當前分類存在父分類(ParentID相同且ClassGrd相差1),則更新父分類

  • 上一篇:梁羽生有幾部小說?
  • 下一篇:如何查詢美贊臣奶粉二維碼的真偽
  • copyright 2024編程學習大全網