Delphi中accesss实现树形结构查询系统


本文整理自网络,侵删。

  

主要是要读取数据库的信息,而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;

相关阅读 >>

Delphi 新建文件夹函数

Delphi stringtobase64、base64tostring两个函数

进程防杀Delphi版(dll部分)

Delphi 关于 array of const

Delphi 控制n个字符间距空格

Delphi 进程之间传递cmd参数

Delphi 控制鼠标按坐标点击

Delphi 字符串替换函数[单元文件 sysutils]

Delphi打开外部程序或文件

Delphi system.masks.matchesmask 简单的正则用法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...