蛙蛙推荐:asp实现树型结构

类别:Asp 点击:0 评论:0 推荐:

<!--
-----------[test]表生成脚本---------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO

CREATE TABLE [dbo].[test] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [str_note] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [father_id] [int] NULL
) ON [PRIMARY]
GO
-->
<!--
***********************测试数据********************
[id][str_note][father_id]
[1][电脑书籍][0]
[2][软件开发][1]
[3][硬件维修][1]
[4][asp][2]
[5][php][2]
[6][jsp][2]
[7][html][2]
[8][显示器维修][3]
[9][主板维修][3]
[10][显卡维修][3]
[11][vbs基础][4]
[12][html基础][4]
[13][ado基础][4]
[14][do语句][11]
[15][for语句][11]
[16][select语句][11]
***************************************************
-->
<%
Dim strconn,conn,rs,sql
strconn="Driver={sql server};server=localhost;database=wawavote;uid=sa;pwd=sa;"
Dim i
i=0
Function ShowTree(parentID)
 i=i+1
 Dim rs
 Set rs = Server.CreateObject("ADODB.RecordSet")
 sql="SELECT id, str_note, father_id,(SELECT str_note FROM test t2 WHERE t2.id = t1.father_id) AS ParentName  FROM test t1 WHERE t1.father_id="&Cint(parentID)
 rs.open sql,strconn,1,1
 Do While Not rs.Eof
  for j=1 to i
   Response.Write("---")
  next
  Response.Write(rs(1)&"["&rs(3)&"]<br>")
  ShowTree rs(0)
  i=i-1
 rs.Movenext
 Loop
 rs.Close:Set rs=Nothing 
End Function
Sub ShowTable(table)
 Dim rs
 Set rs = Server.CreateObject("ADODB.RecordSet")
 sql="select * from "&trim(table)
 rs.open sql,strconn,1,1
 For i=0 To rs.Fields.Count-1
  Response.Write("["&rs.fields(i).Name&"]")
 next
 Response.Write("<br>")
 Do While Not rs.Eof
  For i=0 To rs.Fields.Count-1
   Response.Write("["&rs.fields(i).Value&"]")
  next
  Response.Write("<br>")
 rs.MoveNext
 Loop
 rs.Close:Set rs=Nothing 
End sub
ShowTree(0)
ShowTable("test")
%>

本文地址:http://com.8s8s.com/it/it7455.htm