程式|串連資料庫 <%'*****************************
'******* 串連資料庫的樹圖產生程式 ********
'*****************************
'假設你已建立了SQLServer資料庫UnitTree,並在該庫中建立了表:
'Units(ID 單位序號整數唯一,Name 單位名稱字串,UpID 上層客戶序號整數)
'註:UpID=0表示該單位是根結點單位;
'輸入一些資料如:(1,AA,0)(2,AABB,1)(3,AACC,1)(4,AABB11,2)
'以便進行下面的程式測試。
%>
<% '建立資料庫連接
set conn=server.createobject("adodb.connection")
conn.open "provider=sqloledb;data source=YourSrcName;user id=sa;password=;database=UnitTree"
%>
<%'子過程:產生樹圖子結點資料
Sub TreeNode(Code)
SQLUnit="select ID,Name"&_
" from Units"&_
" where UpID="&Code&""&_
" order by ID"
set rsUnit=conn.Execute(SQLUnit)
Do while not rsUnit.Eof
Response.Write("Node"&rsUnit("ID")&"=appendChild("&"Node"&Code&",folderNode('"&rsUnit("Name")&"','"&rsUnit("ID")&"',0))"&chr(10))
call TreeNode(rsUnit("ID"))
rsUnit.movenext
Loop
End Sub
%>
<HTML>
<HEAD>
<title>演習分析</title>
<Script LANGUAGE="javascript">
/****************************** 產生樹圖資料 *********************************/
function generateTree()
{
//產生樹圖資料
//-----VBScript-----
<%
''顯示單位
SQLUnit0="select ID,Name"&_
" from Units"&_
" where UpID=0"&_
" order by ID"
set rsUnit0=conn.Execute(SQLUnit0)
//根結點foldersTree
Response.Write("foldersTree=folderNode('"&rsUnit0("Name")&"','"&rsUnit0("ID")&"',1)"&chr(10))
Response.Write("Node"&rsUnit0("ID")&"=foldersTree"&chr(10))
call TreeNode(rsUnit0("ID")) //子結點資料
%>
}
/**************************** 產生樹圖數 結束 *******************************/
</Script>
<Script LANGUAGE="javascript">
/************************ 相關函數 *********************************/
// 產生一個節點
function folderNode(name,value,flagOpen)
{
var arrayAux
arrayAux = new Array
arrayAux[0] = flagOpen //結點關閉0或開啟1
arrayAux[1] = value //
arrayAux[2] = name //名稱
return arrayAux
}