主要是要读取数据库的信息,而delphi界面是一个树形结构。

例如有一个Ascess数据库:示例.MDB,内有一张表:“国家”,表的内容如下:

编号        名称
  01                 中国   
  0101             吉林省   
  010101         长春市   
  010102         吉林市   
  0102             江苏省   
  010201         南京市   
  010202         常州市   
  02                 美国   
  0201             密歇根州   
  020101         底特律市   
  0202             华盛顿州   
  020201         温哥华市   
  020202         西雅图市   
  03                 澳大利亚

在 TreeView 中显示结构

1.  新建一个Delphi工程

2.  在主窗体上,放一个TTreeView控件、一个TADoDataSet控件和一个按钮,

设置ADoDataSet1的ConnectionString属性为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=示例.mdb;Persist Security Info=False

3.  添加按钮响应代码:

procedure TForm1.Button1Click(Sender: TObject);
const
  ID_DEPT = 2;
var
  nLevel: Integer;
  pNodes: array[0..1023] of TTreeNode;
  lpID, lpName: string;
begin
  ADODataSet1.Close;
  ADODataSet1.CommandText := 'SELECT * FROM [国家] ORDER BY [编号]';
  ADODataSet1.Open;
  pNodes[0] := nil;
  TreeView1.Items.Clear;
  with ADODataSet1.Recordset do
    while not Eof do
    begin
      lpID := Fields['编号'].Value;
      lpName := Fields['名称'].Value;
      nLevel := Length(lpID) div ID_DEPT;
      pNodes[nLevel] := TreeView1.Items.AddChild(pNodes[nLevel - 1], lpName);
      MoveNext;
    end;
end;
---------------------
作者:清风古韵
来源:CSDN
原文:https://blog.csdn.net/ttpage/article/details/9161689
版权声明:本文为博主原创文章,转载请附上博文链接!

Delphi中accesss实现树形结构查询系统(一次性生成比较方便)的更多相关文章

  1. Delphi TreeView – 自动展开树形结构

    Delphi TreeView – 自动展开树形结构 当处理完TreeView控件树形结构的数据后,需要默认自动全部展开,可以用到TreeView的Expanded属性. 1 2 3 4 5 6 7 ...

  2. 在Delphi中动态地使用SQL查询语句 Adoquery sql 参数 冒号

    在Delphi中动态地使用SQL查询语句 在一般的数据库管理系统中,通常都需要应用SQL查询语句来提高程序的动态特性.下面介绍如何在Delphi中实现这种功能.在Delphi中,使用SQL查询语句的途 ...

  3. MySql/Oracle树形结构查询

    Oracle树形结构递归查询 在Oracle中,对于树形查询可以使用start with ... connect by select * from treeTable start with id='1 ...

  4. Oracle树形结构查询(递归)

    引用:https://blog.csdn.net/u012615705/article/details/78321022  文章转自上述地址,内部有稍许改动,如有需要请查看原文. oracle树状结构 ...

  5. orcale 树形结构查询

    接到需求是要在一个表中(表结构为主键id和父id)循环显示数据,类似于省市县++这种情况  也可能不只有三级子菜单 id  name   parentid 1     a          0 2  ...

  6. Oracle恢复删除数据 && connect by 树形结构查询

    1.一个表中根据以父子级别关系查询显示出来(如图) select t.* from department t CONNECT BY PRIOR t.depid=t.supdepid ; --这样也可以 ...

  7. MySQL递归查询所有子节点,树形结构查询

    --表结构 CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code_value` varchar(32) DEFAUL ...

  8. DropDownList中显示无限级树形结构

    效果图: 数据库表: DirID:目录的ID,ParentID:目录的父路径ID,Name:目录的名字主要代码: using System;using System.Collections;using ...

  9. 关系型数据库的树形结构查询(Oracle、Postgres)

    Oracle : start with… connect by 的用法.语法:select * from table [where 条件1] connect by[条件2] start with[条件 ...

随机推荐

  1. 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的1-14讲

    #coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...

  2. Postfix mail for azengna.com loops back to myself -solve

    设置 /etc/postfix/main.cf 原配置 mydestination = $myhostname, localhost.$mydomain, localhost 改为 mydestina ...

  3. bzoj5108 [CodePlus2017]可做题 位运算dp+离散

    [CodePlus2017]可做题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 87  Solved: 63[Submit][Status][Dis ...

  4. 跨域访问sessionid不一致问题

    在开发过程中遇到这么一个问题,让我花了一个下午的大好时光才解决.但是解决玩之后,发现那么的容易.就是查找资料的时候很费劲.这里把问题记录一下. 问题的产生 流程是这样的,要做一个用户登录的接口.在登录 ...

  5. POJ3177,/3352.求最少添加多少边使无向图边双连通

    俩个题一样.tarjan算法应用,开始求桥,WA,同一个边双连通分量中low值未必都相同,不能用此来缩点.后来用并查集来判断,若不是桥,则在一个双连通分量中,并之,后边再查,将同一个双连通分量中的点通 ...

  6. POJ 2135 最小费用最大流 入门题

    Farm Tour Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19207   Accepted: 7441 Descri ...

  7. 寒武纪camp Day1

    补题进度:8/10 A(组合计数) 题意: 一个人站在数轴原点,每秒有1/4概率向前走一步,1/4概率向后走一步,1/2概率不动,问t秒后在p位置的概率. t,p<=100000 分析: 枚举不 ...

  8. Java实验--继承与多态

    ---恢复内容开始--- 题目如下: [实验任务一]:面积计算(设计型). 1. 实验要求: 实验报告中要求包括程序设计思想.程序流程图.源代码.运行结果截图.编译错误分析等内容. 2.实验内容: ( ...

  9. EXTJS中整合tinymce的富文本编辑器,添加上传图片功能

    提供部分代码.Ext.create('Ext.window.Window', { id: 'wind', title: 'CRUD窗口', modal: true, height: 800, widt ...

  10. oracle数据库 SQL语句、内置函数大全

    1.数值函数 函数 返回值 样例 显示 CEIL(n)      大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n)  小于等于数 ...