哪些数据库支持树形结构的数据结构库

树形结构在Windows环境中被普遍应用咜以简捷的界面深受用户喜爱。但在数据库开发中面对层次多、结构复杂的数据如何快速地构造树形目录呢?

在PowerBuilder所提供的控件中包含了Treeview控件但树的具体形成还需用户编写脚本实现,即它的列表项要在程序中添加,而这些列表数据通常由用户已录入在数据库中并作为数据庫维护的一项内容。

为了能快速实现数据库的树形结构我们可以采用编码法,即利用编码表来实现

编码表的基本字段包括编码和编码洺称,其编码规则是以数字、字母的位数来区分不同层次同一层编码位数相同,层次按位数递增程序通过判断编码位数来决定所在层數。

例如:第一层为10~99两位第二层为1010~1099四位,用户需要做的是先要设计树的结构和对应编码并把相应名称进行录入,然后程序在读取這些数据时形成树

编码法的优点是可以适应任何复杂的层次数据,实现方法简单且树内容有变动时,无需更改程序代码

范例程序与主要代码分析

我们以建立一个城市名称的树形结构为例,来说明编码法的应用

首先建立编码表:city_tab(行政编码、行政名称),其对应的数据窗口是dw_tree(处于隐藏状态)对应树控件为tv_1。

接着在录入界面下输入各城市名称、区域名称及对应编码最后在窗口的OPEN事件上输入以下代码:

//萣义一个树形数据类型的变量

//定义树形变量的属性,设置根目录的标签若在编码表中有此根目录,则不用在此生成

// 目录未打开时的图片索引此图片可在树形控件中设定

//目录打开时的图片索引

//从隐含的编码数据窗口检索数据,第一行开始取区域内码,因为编码表按编码序排,所以可自动按序建层次

//把编码值赋给tvi

//以根项目为父项目插入第二层项目,以后凡是检索到位数是二的均在此生成二层目录

//以后凡是检索到位数是四位,均生成第三层目录

//查找根目录下的第一项目


图1是运行此段程序后形成的树形结构该程序在Windows 98、PowerBuilder 6.5下运行通过。

我要回帖

更多关于 数据结构库 的文章

 

随机推荐