设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

连接数据库的ASP树图生成程序(源码)

作者:佚名 出处:网络转载 时间:08-26 点击:

内容载入中...
 

<%'*****************************
  '*******  连接数据库的树图生成程序  ********
  '*****************************
  '假设你已建立了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
}

//在arrayAux[3]..[n]中添加其孩子
function appendChild(parent, child)
{
 parent[parent.length] = child
 return child
}


//画结点
//参数 foldersNode:结点
//     doc        :document对象
//     level      :结点的层次
//     lastNode   :是否最末尾的结点
//     leftSide   :图片
function redrawNode(foldersNode, doc, level, lastNode, leftSide)
{   
  FileName="Content.asp"  //设置超链接文件,可根据你的情况改写……………

  var j=0
  var i=0

 doc.write("<table border=0 cellspacing=0 cellpadding=0>")
 doc.write("<tr><td valign = middle nowrap>")

 doc.write(leftSide)
    /******分层+/-号**************************************/
   

 if (level>0)//不是根节点
 {
  if (lastNode) //最后的节点
  {
    if (foldersNode.length > 3)//有孩子
    {
        if (foldersNode[0])//且打开
           {
            doc.write("<A href='javascript:top.openBranch(\"" + foldersNode[2] + "\")'>")
document.getElementById('loading').style.display="none";

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息