C++ Builder下数据库报表Master/Detail关系功能的实现
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]-
主从复合结构(Master/Detail)是基于"一对多"的关系,在一个数据库表中提供详细的信息,而这个表是通过另一个数据库表的外来关键字访问相关记录的。基于主从复合结构,我们可以在浏览一个表中的数据时,同时给出另一个表中与这个记录相关的所有记录信息。Borland C++Builder提供了TTable 和TQuery类型的数据库控件,可以方便地实现数据库表的Master/Detail关系,本文即以BCB中自带的示例数据库BCDEMOS为例来说明如何采用不同方法实现数据表的主从复合结构关系,以数据浏览功能为例:即在浏览主数据表Customer.db(客户信息)记录的同时,显示从数据表Orders.db(客户定单信息)中与其相关的所有记录的详细信息。
TTable控件相关的基本属性简介如下:DatabaseName:设置要打开的数据库别名或数据库目录路径;TableName:设置所要关联打开的数据库表文件名;Active:设置为true时数据库表文件自动打开,否则需要用代码在程序中打开数据表。TQuery控件的基本属性:DatabaseName:设置要打开的数据库别名或数据库目录路径;SQL:Tstring类型,所要执行的SQL数据查询语句,可以直接在对象观察器(Object Inspector)中双击打开SQL属性进行编辑,Active:设置为true时自动打开查询数据库表文件,否则需要用代码在程序中打开查询数据表。两者与M/D相关的属性将在下边结合示例加以解释。
一、TTable控件关联主、从表实现Master/Detail关系报表
Master/Detail关系最简单的实现方法是用两个TTable控件分别与主表及从表关联。分别起名为TableMaster和TableDetail,设置TableMaster的DatabaseName为BCDEMOS,TableName为Customer.db;设置TableMaster的DatabaseName为BCDEMOS,TableName为Orders.db。如此即可分别关联上主从数据表。
因为要浏览显示数据表记录内容,所以需要在窗体上放置两个TDBGrid类型的控件DBGridMaster、DBGridDetail以显示M/D关系主从表的相应记录内容;放置两个TDataSource类型的控件DataSourceMaster、DataSourceDetail以指明数据源。设置DataSourceMaster的DataSet属性为TableMaster,DataSourceDetail的DataSet属性为TableDetail,分别指向主从数据表。设置DBGridMaster的DataSource属性为DataSourceMaster,DBGridDetail的DataSource属性为DataSourceDetail。
实现Master/Detail关系的关键在于从表关联控件TableDetail的MasterSource属性和MasterFields属性:前者指向了一个TDataSource控件,该控件DataSet属性应该指向Master/Detail关系的Master表;后者则指定主表和从表的关联字段,需要双击打开"Field Link Designer"对话框进行设置工作,选择从表和主表的相应关联字段添加到"Joined Fields"(关联字段)中即可。本例中以主表(Customer.db客户信息)及从表(Orders.db定单信息)的CustNo(客户号)字段为关联字段,故设置TableDetail的MasterSource属性为DataSourceMaster,指向主表;MasterFields属性为CustNo关联字段。
- [1] [2] [3] [4] 下一页
-
- C++ Builder下数据库报表Master/Detail关系功能的实现 相关文章:
- ·C++ Builder下数据库报表Master/Detail关系功能的实现
- C++ Builder下数据库报表Master/Detail关系功能的实现 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:ODBC中的同步与异步执行模式
精品推荐
热点TOP10
- ·C++Builder4.0实现在线接收电子邮件
- ·无废话C#设计模式之六:Builder
- ·无废话C#设计模式之四:Factory Method
- ·菜鸟入门 认识C#中的委托和事件
- ·C#动态生成树型结构的Web程序设计
- ·用WinSock控件编写网络聊天器
- ·计算机短信DIY
- ·QuickReport基本知识
- ·ODBC中的同步与异步执行模式
- ·获得文件的版本信息
- ·C++ Builder下数据库报表Master/Detail关系功能的实现
- ·利用C++ Builder 5.0创建用户自己的网上聊天程序
- ·BCB和Oracle结合构造C/S系统时千年问题
- ·BCB中实现全屏幕OpenGL
- ·C++BUILDER中一些实现界面效果的技巧
- ·C++Builder如何响应消息及自定义消息
- ·使用C++Builder制作提取图标程序
- ·C++ Builder中消息处理过程及应用
- ·在 C++ Builder中利用串行通信控件编程
- ·利用组件传送文件
