delphi学习treeview中从表列名和数据添加为目录并双击自动选中
1 unit Unit2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls, Vcl.StdCtrls; type TForm2 = class(TForm) TreeView1: TTreeView; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; procedure FormShow(Sender: TObject); procedure TreeView1DblClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormShow(Sender: TObject); var I: Integer; node: TTreeNode; MyFuAdq,MyZiAdq: TADOQuery; begin MyFuAdq := TADOQuery.Create(nil); MyZiAdq := TADOQuery.Create(nil); try MyFuAdq.Connection := ADOConnection1; MyZiAdq.Connection := ADOConnection1; with MyFuAdq do begin SQL.Text := 'SELECT TOP 1 * FROM top_order'; Open; end; do begin node := TreeView1.Items.Add(nil, MyFuAdq.FieldDefs[I].Name); {字段名} //再次查询每列不同的数据 with MyZiAdq do begin Close; SQL.Text := 'SELECT DISTINCT '+MyFuAdq.FieldDefs[I].Name+ ' FROM top_order'; Open; end; while not MyZiAdq.Eof do begin TreeView1.Items.AddChild(node, MyZiAdq.FieldByName(MyFuAdq.FieldDefs[I].Name).AsString); MyZiAdq.Next; end; end; finally MyFuAdq.Free; MyZiAdq.Free; end; end; procedure TForm2.TreeView1DblClick(Sender: TObject); var MyAdq: TADOQuery; selectName,selectValue: string; begin MyAdq := TADOQuery.Create(nil); try MyAdq.Connection := ADOConnection1; //获取选中的内容 selectName := TreeView1.Selected.Parent.Text; selectValue := TreeView1.Selected.Text; //选中 with MyAdq do begin SQL.Text := 'UPDATE top_trade SET top_xuanzhong = 1 WHERE top_xuhao IN (SELECT DISTINCT top_xuhao FROM top_order WHERE '+selectName+' = '+selectValue.QuotedString+')'; ExecSQL; end; //查询 with ADOQuery1 do begin Close; SQL.Text := 'SELECT top_order.top_title,top_trade.top_xuhao,top_trade.top_xuanzhong FROM top_order FULL JOIN top_trade ON top_order.top_xuhao = top_trade.top_xuhao WHERE top_order.'+selectName+' = '+selectValue.QuotedString; Open; end; finally MyAdq.Free; end; end; end.

delphi学习treeview中从表列名和数据添加为目录并双击自动选中的更多相关文章
- 在Action中获取表单提交数据
-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2 ...
- C# 将Access中时间段条件查询的数据添加到ListView中
C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Col ...
- 查询A、B表中,A表中B表没有的数据
A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低 ~执 ...
- MySql必知必会实战练习(一)表创建和数据添加
1.实战环境 windows 10 64位 mysql-8.0.13 mysql编辑和查看工具:NaviCat for MySql 表脚本文件: ########################### ...
- 利用DBCC PAGE查看SQL Server中的表和索引数据
16:08 2013-01-06 参考http://doc.chinaunix.net/sqlserver/200810/206034.shtmlDBCC PAGE|IND 参数 DBCC PAGE ...
- oracle中修改表已有数据的某一列的字段类型的方法,数据备份
1.在开发过程中经常会遇到表中的某一个字段数据类型不对,比如说需要保存的数据带小数,但是在最初设计的时候是给的number(10)类型,开始保存是整数的时候满足要求,后来在保存小数的时候 会发现自动四 ...
- 统计mysql库中每张表的行数据
修改数据库配置文件:vim /etc/my.cnf [client] user=username password=password 使用shell脚本统计表中的行数据:count.sh #!/bin ...
- Javaweb项目中修改表单时数据回显方法
1.前言 先来说下什么是数据回显,比如我要修改我的个人信息,点击修改按钮后进入修改界面,在这个界面中直接将原来的信息显示在表单中,而不是空表单,这就是数据回显 2.思路 当点击修改的时候,从数据库中查 ...
- django(django学习) 两张表创建 插入数据
pycharm中直接创建django项目 输入创建项目名(如first_django) 在此输入应用名(如g_tu) 此为项目总目录 将first_django中settings.py中第58行修 ...
随机推荐
- Front-End(二)——HTML
本文主要对html迭代学习中的要点.冷点简述罗列. html之前也说过,主要为了描述页面的结构和内容,合理使用结构化的标签,<h1>.<div>等,有利于前端开发,也有利于搜索 ...
- c#的as关键字
类型a as 类型b ,把类型a强制变为类型b
- Web Service接口返回泛型的问题(System.InvalidCastException: 无法将类型为“System.Collections.Generic.List`1[System.String]”的对象强制转换为类型“System.String[]”)
在使用C#写Web Service时遇到了个很奇怪的问题.返回值的类型是泛型(我用的是类似List<string>)的接口,测试时发现总是报什么无法转换为对象的错误,百思不得其解. 后来在 ...
- UIAlerView、UIActionSheet 和UIAlertViewController(点击注销确认按钮实现)
- (IBAction)loginOut:(UIBarButtonItem *)sender { UIActionSheet *actionSheet = [[UIActionSheet alloc] ...
- java 生成条形码
package com.sun.erwei; import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;impo ...
- 浙大 pat 1003 题解
1003. Emergency (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue As an emerg ...
- flex属性值----弹性盒子布局
里面的属性都 是在有display: flex的情况 下才生效. 兼容性写法: display: -webkit-box; /*老版本语法: Safari, iOS, Android browse ...
- ubuntu搭建git服务器
1.准备两台ubuntu虚拟机,其中一个作为server,另一个作为client.检查是否安装ssh,如果没有安装:sudo apt-get install openssh-server, 然后在se ...
- iosAPP打包上架xcode中Archive提交成功以后,不提示构建版本问题
最近在项目更新时遇到Archive提交到开发者中心成功后,一直不提示构建版本信息,可能导致的原因是由于ios10以后对于APP中调用手机相册或摄像头麦克风时需要配置plist文件,配置如下内容或许会解 ...
- 1.Office 365系列(-)
//来源:http://www.cnblogs.com/JessZhou/p/3470654.html 首先从Office 365开始. Office 365是微软云计划的一部分,主要包括sharep ...
1 unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.Grids,
Vcl.DBGrids, Vcl.ComCtrls, Vcl.StdCtrls;
type
TForm2 = class(TForm)
TreeView1: TTreeView;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
procedure FormShow(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
var
I: Integer;
node: TTreeNode;
MyFuAdq,MyZiAdq: TADOQuery;
begin
MyFuAdq := TADOQuery.Create(nil);
MyZiAdq := TADOQuery.Create(nil);
try
MyFuAdq.Connection := ADOConnection1;
MyZiAdq.Connection := ADOConnection1;
with MyFuAdq do
begin
SQL.Text := 'SELECT TOP 1 * FROM top_order';
Open;
end;
do
begin
node := TreeView1.Items.Add(nil, MyFuAdq.FieldDefs[I].Name); {字段名}
//再次查询每列不同的数据
with MyZiAdq do
begin
Close;
SQL.Text := 'SELECT DISTINCT '+MyFuAdq.FieldDefs[I].Name+ ' FROM top_order';
Open;
end;
while not MyZiAdq.Eof do
begin
TreeView1.Items.AddChild(node, MyZiAdq.FieldByName(MyFuAdq.FieldDefs[I].Name).AsString);
MyZiAdq.Next;
end;
end;
finally
MyFuAdq.Free;
MyZiAdq.Free;
end;
end;
procedure TForm2.TreeView1DblClick(Sender: TObject);
var
MyAdq: TADOQuery;
selectName,selectValue: string;
begin
MyAdq := TADOQuery.Create(nil);
try
MyAdq.Connection := ADOConnection1;
//获取选中的内容
selectName := TreeView1.Selected.Parent.Text;
selectValue := TreeView1.Selected.Text;
//选中
with MyAdq do
begin
SQL.Text := 'UPDATE top_trade SET top_xuanzhong = 1 WHERE top_xuhao IN (SELECT DISTINCT top_xuhao FROM top_order WHERE '+selectName+' = '+selectValue.QuotedString+')';
ExecSQL;
end;
//查询
with ADOQuery1 do
begin
Close;
SQL.Text := 'SELECT top_order.top_title,top_trade.top_xuhao,top_trade.top_xuanzhong FROM top_order FULL JOIN top_trade ON top_order.top_xuhao = top_trade.top_xuhao WHERE top_order.'+selectName+' = '+selectValue.QuotedString;
Open;
end;
finally
MyAdq.Free;
end;
end;
end.