婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > DBTree 1.3.2

DBTree 1.3.2

熱門(mén)標(biāo)簽:成都ai外呼系統(tǒng)線路 鄢陵學(xué)校如何做地圖標(biāo)注 沈陽(yáng)電話機(jī)器人公司 廣東語(yǔ)音外呼系統(tǒng)公司 長(zhǎng)春公司外呼系統(tǒng)中心 鄭州智能外呼電銷機(jī)器人廠家 虛擬電話外呼系統(tǒng) 云南便宜外呼系統(tǒng)平臺(tái) 沈陽(yáng)三五防封電銷卡

1.3.2的修改

  1. 對(duì) InsertNode進(jìn)行了修改,不會(huì)再發(fā)生傳送的節(jié)點(diǎn)id有錯(cuò)誤而默認(rèn)插入到根下的行為。 (出于安全考慮而去掉)
  2. 完善了SubTree函數(shù)
  3. 添加了path函數(shù)可以得到路徑
  4. 添加了alterNode可以修改節(jié)點(diǎn)名稱以及在兄弟節(jié)點(diǎn)中的位置。

許可:GUN LGPL


測(cè)試地址:http://lxbzj.com/product/dbtree/index.asp

DBTree使用說(shuō)明

目錄

  1. 簡(jiǎn)介
  2. 特點(diǎn)
  3. 如何使用

 

簡(jiǎn)介

DBTree是database tree的縮寫(xiě)。意思是數(shù)據(jù)庫(kù)中的樹(shù)形結(jié)構(gòu)。

DBTree是一個(gè)勇于數(shù)據(jù)庫(kù)服務(wù)器環(huán)境中的,在數(shù)據(jù)庫(kù)中記錄樹(shù)形數(shù)據(jù)結(jié)構(gòu)的快速解決方案,即人們通常說(shuō)的無(wú)限級(jí)目錄問(wèn)題,本文檔統(tǒng)稱為樹(shù),而且是樹(shù)結(jié)構(gòu)在數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)。

DBTree包含了各種不同的版本:asp+access、等等。

特點(diǎn)

通常情況下,樹(shù)在數(shù)據(jù)庫(kù)中實(shí)現(xiàn)的時(shí)候采用的是樹(shù)的雙親表示法,設(shè)一個(gè)編號(hào)字段id,和一個(gè)父親編號(hào)字段parent_id,來(lái)實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)是:操作簡(jiǎn)單,幾乎不用維護(hù),然而優(yōu)點(diǎn)帶來(lái)的問(wèn)題是對(duì)樹(shù)進(jìn)行遍歷的時(shí)候系統(tǒng)開(kāi)銷極大,需要進(jìn)行遞歸操作,因此不能夠無(wú)限制的增加樹(shù)的深度。普遍采用了異步讀取的方式來(lái)減少系統(tǒng)開(kāi)銷。一些改進(jìn)的方法也避免不了這一問(wèn)題。

在絕大多數(shù)情況下,服務(wù)器上要求對(duì)樹(shù)的遍歷任務(wù)占據(jù)了對(duì)樹(shù)的操作的任務(wù)的大部分,可見(jiàn)如果針對(duì)數(shù)遍歷來(lái)做優(yōu)化能極大地提高效率減輕服務(wù)器負(fù)擔(dān)。

或者還是采用雙親表示法,采用異步讀取才減輕系統(tǒng)開(kāi)銷,但是這樣依然不能解決例如樹(shù)的深度、路徑、刪除等的問(wèn)題

在本程序中采用了更適應(yīng)遍歷的數(shù)的表示結(jié)構(gòu)。能極大地降低系統(tǒng)開(kāi)銷,也能很優(yōu)秀的解決一些樹(shù)的高級(jí)操作,更適應(yīng)于數(shù)據(jù)庫(kù)。

如何使用

使用本程序,需要預(yù)先準(zhǔn)備一個(gè)數(shù)據(jù)庫(kù),且設(shè)置好數(shù)據(jù)庫(kù)聯(lián)接。

1.數(shù)據(jù)庫(kù)的定義:

數(shù)據(jù)庫(kù)中表(Tree)的定義(access)
字段名 字段類型 必填 默認(rèn)值 其他 索引 說(shuō)明
id 數(shù)字     自動(dòng)編號(hào) 有(無(wú)重復(fù)) 節(jié)點(diǎn)的唯一編號(hào)
p_id 長(zhǎng)整型 0     節(jié)點(diǎn)父親編號(hào)值
name 文本 新建文件夾 不允許為空字符串   節(jié)點(diǎn)名稱
porder 長(zhǎng)整型     有(有重復(fù)) 節(jié)點(diǎn)的先序排序號(hào)
dep 長(zhǎng)整型 1     節(jié)點(diǎn)深度值
del 布爾 Flase     是否刪除
附注:字段名僅僅為默認(rèn)的字段名,如果您不指定其他的字段名的話,程序就假定您的字段和表名名為默認(rèn)的。

2.在需要使用的頁(yè)面使用服務(wù)器包含命令:!--#include file="dbtree.asp" -->

3.初始化一個(gè)對(duì)象實(shí)例,然后初始化數(shù)據(jù)庫(kù)聯(lián)接字符串和其他變量

%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
% option explicit 'TRANSACTION = Required%>
!--#include file="dbtree.asp" -->
%
Dim MM_btree_STRING '數(shù)據(jù)庫(kù)聯(lián)接字符串
MM_btree_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "server.mappath("tree.mdb")
%>
%
dim tree
set tree=new DBtree
tree.conn=MM_btree_STRING '指定聯(lián)接字符串
tree.table="tree"'制定表名
tree.id="id"'制定列名
tree.p_id="p_id"
tree.porder="porder"
%>

4接下來(lái)就可以對(duì)樹(shù)進(jìn)行各種操作了:

實(shí)例:

1.將樹(shù)顯示為列表:

%
Dim arr1(1,0),arr2(1,0),cache
arr1(0,0) = "ul>"
arr1(1,0) = "/ul>"
arr2(0,0) = "li>{name}"
arr2(1,0) = "/li>"
cache = tree.display(0,-1,arr1,arr2,"relative")
response.write(cache)
%>

2.插入,刪除等

select case request.Form("submit")
case "移動(dòng)"
msg =tree.moveNode(request.Form.Item("src"),request.Form.Item("des"))
case "刪除"
msg =tree.delNode(request.Form("node"),false)
case "永久刪除"
msg =tree.delNode(request.Form("node"),true)
case "恢復(fù)"
msg =tree.undel(request.Form("undel"))
end select

3.其他的操作請(qǐng)參見(jiàn)實(shí)例

4.API

整個(gè)程序是一個(gè)類,提供插入、移動(dòng)、刪除、顯示、輸出為列表控件等接口,以后功能還會(huì)不斷完善。


API
函數(shù)名  功能
insertNode(int node_pid, str node_name)
插入一個(gè)節(jié)點(diǎn)作為給出節(jié)點(diǎn)的孩子節(jié)點(diǎn)。

參數(shù):

  • node_pid 樹(shù)中節(jié)點(diǎn)的id,0表示插入到根下
  • str節(jié)點(diǎn)的名稱默認(rèn)為新建文件夾;
MoveNode(src_id,des_id) 移動(dòng)節(jié)點(diǎn)和他的子樹(shù),參數(shù):src_id源節(jié)點(diǎn)id;des_id:目標(biāo)節(jié)點(diǎn)id(注意暫時(shí)不能將一個(gè)節(jié)點(diǎn)移動(dòng)到根下(0)) 
DelNode(id,confirm)  刪除節(jié)點(diǎn)和子樹(shù),參數(shù):id節(jié)點(diǎn)id;confirm:是否直接刪除true/false。
undel(id)  恢復(fù)沒(méi)有直接刪除的節(jié)點(diǎn)
string OutPutOption(root_id,selected_id,show_root,rel_deep)  

將樹(shù)輸出為類表控件的選項(xiàng),即option>標(biāo)簽

參數(shù):

  • root_id 樹(shù)根(Root)編號(hào),默認(rèn)值為0
  • selected_id 列表選項(xiàng)的默認(rèn)中選項(xiàng)
  • show_root 是否允許顯示根(Root)這一行記錄
  • rel_deep 顯示的相對(duì)深度 -1 顯示所有 0 :只顯示根 1 顯示1層
Display(root_id,rel_deep,menu_tag,item_tag,options)   功能:讀出并且按模板標(biāo)簽生成顯示內(nèi)容,替換標(biāo)簽有:{id},{name},{porder},{auto},{pid}
  • 參數(shù):root_id 根的id ,0表示全部顯示
  • rel_deep 要顯示的相對(duì)深度。1層2層等等
  • menu_tag 菜單標(biāo)簽 數(shù)組
  • item_tag 項(xiàng)目標(biāo)簽 數(shù)組
  • menu_tag 與item_tag 必須為形如arr(1,n)的數(shù)組,即必須都是二維數(shù)組、第一維必須是1第二維存儲(chǔ)各級(jí)標(biāo)簽
  • arr(0,n)存儲(chǔ)開(kāi)始標(biāo)簽,arr(1,n)存儲(chǔ)結(jié)束標(biāo)簽,結(jié)束標(biāo)簽不能含有需要替換的內(nèi)容
  • menu_tag(x,0),item_tag(x,0)用來(lái)存儲(chǔ)默認(rèn)的模板標(biāo)簽參見(jiàn)使用實(shí)例
  • option:參數(shù) ,可用值:relative
SubTree(node_id,order,rel_deep,with_root,with_del)   取得子目錄記錄集
  • node_id 節(jié)點(diǎn)id
  • 排序: "asc" "desc"
  • rel_deep 相對(duì)要顯示的深度 1僅顯示1層 -1顯示所有深度 0 僅顯示根 如此類推
  • with_root(true/false) 記錄集是否包含根
  • with_del(true/false) 記錄集是否包含標(biāo)記為刪除的記錄
AlterNode(node_id,new_name,step)

修改節(jié)點(diǎn)信息

  • node_id節(jié)點(diǎn)id
  • new_name新的名稱
  • step 要移動(dòng)的位置
程序還在改進(jìn)中,有些接口還待調(diào)整

 

©linzsoft.com2006-05-26

標(biāo)簽:湖北 孝感 平頂山 四平 馬鞍山 防城港 朝陽(yáng) 遼陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DBTree 1.3.2》,本文關(guān)鍵詞  DBTree,1.3.2,DBTree,1.3.2,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DBTree 1.3.2》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于DBTree 1.3.2的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:關(guān)于網(wǎng)站文件自動(dòng)備份程序的一點(diǎn)思考

    下一篇:抽取10萬(wàn)條數(shù)據(jù),想起GetRows()

    主站蜘蛛池模板: 望奎县| 泸水县| 霞浦县| 丹凤县| 宜春市| 北流市| 彭水| 新郑市| 兰考县| 仪征市| 安化县| 西宁市| 衡阳市| 嘉鱼县| 敦化市| 兴业县| 临桂县| 石狮市| 赣州市| 铁岭县| 行唐县| 天气| 响水县| 拜城县| 云龙县| 綦江县| 舒兰市| 习水县| 壶关县| 原阳县| 台中市| 刚察县| 迭部县| 邯郸市| 丽水市| 华安县| 肥东县| 托克逊县| 顺义区| 灌阳县| 杭州市|