asp实现树型结构
(编辑:jimmy 日期: 2024/11/27 浏览:3 次 )
蛙蛙推荐:asp实现树型结构 选择自 onlytiancai 的 Blog
关键字 蛙蛙推荐:asp实现树型结构
出处
<!--
-----------[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")
%>
关键字 蛙蛙推荐:asp实现树型结构
出处
<!--
-----------[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")
%>
下一篇:大数量查询分页显示 微软的解决办法