Delphi数据库开发之TTable篇2
2004-06-22 08:00
429 查看
虽然从各方面的信息来看BDE已经日落西山的感觉,但一种成熟的东西被完全忘却是需要很长一段时间的。还是把一些TTable控件一些常用的方法记录一下。数据库应用程序很多时候都需要显示主从表数据,而上节说到TTable主要是用于显示数据列表的,所以TTable在该情况下使用较简易。
例如:Table1用于提取主表的数据,主键名为A,DataSource1连接Table1,用DBGrid1;Table2用于提取子表数据,外键为B,用DBGrid2显示。要求在DBGrid1的当前记录改变时,DBGrid2能显示对应的子表数据。
方法1:使用MasterField和MasterSource属性,该方法比较易用,但可控制程度稍低。只要指定Table2的MasterSource属性为DataSource1,在MasterField的对话框中把A B指定为Join Field即可实现主从表数据显示。
方法2:使用Filter和Filtered属性。该方法涉及的方面比较多,而且还有引号的问题,但可数据操作较灵活。同样是上面的控件。
Table1AfterScroll事件加入
if not Table1.IsEmpty then
Table2.Filter:='B='+QuotedStr(Table1.FieldByName('A').AsString);
else Table2.Filter:='B='+QuotedStr('-9999');
Table2.Filtered:=True;
该代码假设B字段是文本型字段,A不可能取值为'-9999'
例如:Table1用于提取主表的数据,主键名为A,DataSource1连接Table1,用DBGrid1;Table2用于提取子表数据,外键为B,用DBGrid2显示。要求在DBGrid1的当前记录改变时,DBGrid2能显示对应的子表数据。
方法1:使用MasterField和MasterSource属性,该方法比较易用,但可控制程度稍低。只要指定Table2的MasterSource属性为DataSource1,在MasterField的对话框中把A B指定为Join Field即可实现主从表数据显示。
方法2:使用Filter和Filtered属性。该方法涉及的方面比较多,而且还有引号的问题,但可数据操作较灵活。同样是上面的控件。
Table1AfterScroll事件加入
if not Table1.IsEmpty then
Table2.Filter:='B='+QuotedStr(Table1.FieldByName('A').AsString);
else Table2.Filter:='B='+QuotedStr('-9999');
Table2.Filtered:=True;
该代码假设B字段是文本型字段,A不可能取值为'-9999'
相关文章推荐
- Delphi数据库开发之TTable篇1
- Delphi数据库通用模块及典型系统开发
- Delphi开发单机瘦数据库程序要点
- Delphi开发工具中如何访问数据库结构 中国教程在线,http://www.5istudy.cn
- Delphi开发学习一:使用ADOConnection控件连接数据库SQL
- DELPHI10.2的LINUX数据库开发环境配置
- 用Delphi 开发数据库程序经验三则
- 我不知道有没有人用DELPHI7+CORBA做数据库开发?
- Delphi三层数据库开发应用
- 主窗体里面打开子窗体&&打印饼图《Delphi 6数据库开发典型实例》--图表的绘制
- Delphi数据库开发之SQL写法的技巧1
- 用Delphi开发Web服务数据库程序
- Delphi开发单机瘦数据库程序要点
- Delphi 开发数据库控件的方法
- 用Delphi开发Web Services数据库程序
- 开发基于ADO的Delphi数据库应用程序
- Delphi开发工具中如何访问数据库结构
- 阿庆SQL智能查询分析器,使用delphi开发的一个数据库查询分析管理工具.分享给大家
- 用Delphi的InterBase数据库开发C&S应用程序
- 第十五章 Delphi开发数据库应用程序概述(七)