主要是要读取数据库的信息,而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. LeetCode(73)Set Matrix Zeroes

    题目 Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. cli ...

  2. JQuery给元素动态增删类或特性

    背景:通过JQuery动态给Html元素增加.删除类或属性,使Html元素在不同的时刻呈现不同的样式,给用户更好的体验感觉. 如存在以下p片段和button按钮,代码如下: <p id=&quo ...

  3. xtu字符串 A. Babelfish

    A. Babelfish Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class ...

  4. Halloween Costumes(区间DP)

    Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he is planning t ...

  5. dispatching(bzoj 2008)

    Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都有且仅有一个上级. ...

  6. Back弹出AlertDialog

    package com.pingyijinren.helloworld.activity; import android.content.DialogInterface; import android ...

  7. poj3905 2sat!

    这次已经不是2sat的问题了,相信2sat已经不是问题了,最后一题2sat,竟然跪在输入上! 千万注意scanf(%c)!读入!!!!有空格也读啊!!!读入+ -一定要用字符读啊??笨死算了!被人水死 ...

  8. hdu 1496 hash

    hash?判重,是否一样?相等?等式!没有想到,这次题做玩后,学到了HASH这一功能!当数据量在数组允许大小范围内时候即可!判断等式俩边是否相等,从而获得解的个数!从复杂度,n*m*k****,降到 ...

  9. 洛谷—— P1098 字符串的展开

    https://www.luogu.org/problem/show?pid=1098 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类 ...

  10. java内存区域和对象的产生

    一直被java中内存组成弄的头晕眼花,这里总结下都有哪些,先上图片 程序计数器 小块内存,线程执行字节码的信号指示器,以此获取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复都要依赖他 ...