📄 bcjq074.txt
字号:
C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
首页
| 控件天堂 | 控件使用
| 编程技巧
| 源代码 | 编程工具 |
系统补丁 | 电子书籍 | 技术论坛
| 相关链接
if (ad==1) {document.write(''+'');}
if (ad==2) {document.write(''+'');}
if (ad==3) {document.write(''+'');}
var marqueecontents=''+scroll_text+''
if (document.all)
document.write(''+marqueecontents+'')
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}
function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit()
}
function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit()
}
}
window.onload=regenerate2
当前位置
:
编程技巧
C++ Builder下数据库报表Master/Detail关系功能的实现
主从复合结构(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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -