Delphi/Pascal

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Delphi/Pascal >

Delphi中RzCheckTree从ACCESS中取值

来源:网络整理  作者:  发布时间:2020-12-26 17:01
Delphi中RzCheckTree从ACCESS中取值...
procedure TForm1.FormCreate(Sender: TObject); var I,Y,L:Integer; Bstr,Sustr:string; RootNode,SubNode,SutNode:TTreeNode; begin try ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source='+ GetCurrentDir + '\db\mydb.mdb;Persist Security Info=True'; ADOConnection1.LoginPrompt:=False; ADOConnection1.Connected:=True; ADOQuery1.Connection:=ADOConnection1; ADOQuery2.Connection:=ADOConnection1; ADOQuery3.Connection:=ADOConnection1; except Application.MessageBox('数据库连接错误','错误',16); Application.Terminate; end; with ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select distinct Rep_name from Rep_all'); Open; First; for I := 0 to ADOQuery1.RecordCount - 1 do //根节点循环 begin Bstr:=ADOQuery1.FieldByName('Rep_name').AsString; //获得根节点名称 RootNode:=RzCheckTree1.Items.Add(nil,Bstr); //创建根节点 with ADOQuery2 do begin Close; SQL.Clear; SQL.Add('select * from Rep_all where Rep_name='''+ Bstr +''''); //通过根节点查询子节点 Open; First; for Y := 0 to ADOQuery2.RecordCount - 1 do //子节点循环 begin Sustr:=FieldByName('Rep_subname').AsString; SubNode:=RzCheckTree1.Items.AddChild(RootNode,FieldByName('Rep_subname').AsString); //创建子节点 with ADOQuery3 do begin Close; SQL.Clear; SQL.Add('select * from Rep_opt where opt_name=''' + Sustr +''''); Open; First; for L := 0 to ADOQuery3.RecordCount - 1 do //第2个子节点 begin SutNode:=RzCheckTree1.Items.AddChild(SubNode,FieldByName('Rep_opt').AsString); Next; //第2个子节点 end; end; Next; //子节点 end; end; Next; //根节点 end; end; end;

二、获取用户选择的值

 

1.uses commctrl; 2.按钮代码 procedure TForm1.quzhiClick(Sender: TObject); var Qnode:TTreeNode; Qtvi:TTVItem; begin Memo1.Lines.Clear; //先清除Memo1中的数据 for Qnode in RzCheckTree1.Items do begin Qtvi.mask:= TVIF_STATE; //or code 8 Qtvi.hItem:=Qnode.ItemId; TreeView_GetItem(RzCheckTree1.Handle,Qtvi); if Qtvi.state and $2000=$2000 then begin Memo1.Lines.Add(Qnode.Text); //获得用户选择值写入到Memo1中 end; end; end;

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/dp/9434.shtml

最新文章
最新的支持DELPHI XE7的多层 最新的支持DELPHI XE7的多层

时间:2020-12-26

Delphi多媒体设计之TMediaP Delphi多媒体设计之TMediaP

时间:2020-12-26

Delphi多媒体设计之TMediaP Delphi多媒体设计之TMediaP

时间:2020-12-26

Delphi Code Editor 之 编辑器选 Delphi Code Editor 之 编辑器选

时间:2020-12-26

Delphi窗体皮肤实现 Delphi窗体皮肤实现

时间:2020-12-26

使用Delphi实现JNI实例 使用Delphi实现JNI实例

时间:2020-12-26

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Delphi中RzCheckTree从ACCESS中取值

2020-12-26 编辑:

procedure TForm1.FormCreate(Sender: TObject); var I,Y,L:Integer; Bstr,Sustr:string; RootNode,SubNode,SutNode:TTreeNode; begin try ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source='+ GetCurrentDir + '\db\mydb.mdb;Persist Security Info=True'; ADOConnection1.LoginPrompt:=False; ADOConnection1.Connected:=True; ADOQuery1.Connection:=ADOConnection1; ADOQuery2.Connection:=ADOConnection1; ADOQuery3.Connection:=ADOConnection1; except Application.MessageBox('数据库连接错误','错误',16); Application.Terminate; end; with ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select distinct Rep_name from Rep_all'); Open; First; for I := 0 to ADOQuery1.RecordCount - 1 do //根节点循环 begin Bstr:=ADOQuery1.FieldByName('Rep_name').AsString; //获得根节点名称 RootNode:=RzCheckTree1.Items.Add(nil,Bstr); //创建根节点 with ADOQuery2 do begin Close; SQL.Clear; SQL.Add('select * from Rep_all where Rep_name='''+ Bstr +''''); //通过根节点查询子节点 Open; First; for Y := 0 to ADOQuery2.RecordCount - 1 do //子节点循环 begin Sustr:=FieldByName('Rep_subname').AsString; SubNode:=RzCheckTree1.Items.AddChild(RootNode,FieldByName('Rep_subname').AsString); //创建子节点 with ADOQuery3 do begin Close; SQL.Clear; SQL.Add('select * from Rep_opt where opt_name=''' + Sustr +''''); Open; First; for L := 0 to ADOQuery3.RecordCount - 1 do //第2个子节点 begin SutNode:=RzCheckTree1.Items.AddChild(SubNode,FieldByName('Rep_opt').AsString); Next; //第2个子节点 end; end; Next; //子节点 end; end; Next; //根节点 end; end; end;

二、获取用户选择的值

 

1.uses commctrl; 2.按钮代码 procedure TForm1.quzhiClick(Sender: TObject); var Qnode:TTreeNode; Qtvi:TTVItem; begin Memo1.Lines.Clear; //先清除Memo1中的数据 for Qnode in RzCheckTree1.Items do begin Qtvi.mask:= TVIF_STATE; //or code 8 Qtvi.hItem:=Qnode.ItemId; TreeView_GetItem(RzCheckTree1.Handle,Qtvi); if Qtvi.state and $2000=$2000 then begin Memo1.Lines.Add(Qnode.Text); //获得用户选择值写入到Memo1中 end; end; end;

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/dp/9434.shtml

相关文章

风云图片

推荐阅读

返回Delphi/Pascal频道首页