DataSource DataSet Table
AutoEdit False
──────────────────────────────────
Active True
DatabaseName DBDEMOS
Table TableName ORDERSDB
IndexFieldNames ORDERNO
MasterField ORDERNO
MasterSource DataSource
──────────────────────────────────
DataSource DataSet Table
AutoEdit False
──────────────────────────────────
DBGrid DataSource DataSource
──────────────────────────────────
DBNavigator DataSource DataSource
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
窗体中其余的部件都是TDBEdit和TLabel部件它们用于显示CustomerDB中的字段值和OrderDB中的字段值在该例子中总共连接了三个表 Customer DB 表是主要表OrdersDB表在窗体中起到了双重作用它既是CustomerDb表的明细表同时又是ItemsDB表的主要表ItemsDB表是OrdersDB表的明细表
字段对象的使用
Ttable和TQuery部件中有一个TField类型的属性FiedlsFields是TField类型的对象的列表TField对象列表是Delphi数据库中较难以理解的一个对象它是 TTable 部件和TQuary部件的一部分它们是不能够选择到窗体中的独立的部件而且无论是在设计阶段还是在程序运行过程中它们都没有可见的图像即使到Object Inspector窗中察看它们也很困难
Tfield对象是在打开磁盘上的数据库表时动态产生的并在数据库表被关闭时自动消失TField对象可以控制表中的每一列是否在数据浏览部件中显示以及以何种格式显示等等通过字段编辑器(Fields Editor)我们可以建立永久性的TField 对象列表代替动态的Tfield对象列表供Delphi应用程序使用通过Fields Editor建立的永久性的字段对象会自动地加入到程序库单元的TForm类型定义中它们保存在应用程序中即使数据库表的基本结构发生了改变它也是一直保留着当然如果修改后的表中使得原来所定义的字段对象不再存在Delphi应用程序在运行过程中会给出现错误信息
字段对象的类型
字段对象TField对应数据库记录中的各个字段因为数据库记录中的字段有多种数据类型因此对记录字段可能出现的每一种数据类型都有一个独立的TField类型与之对应TField的类型如表所示
表 字段对象的类型
━━━━━━━━━━━━━━━━━━━━━━━━━
字段对象的类型 对应的数据类型
─────────────────────────
TBooleanField 布尔型数据
TCurrentyField 货币型数据
TStringField 字符串数据
TIntegerField 整数型数据
TBLOB 大二进制对象
━━━━━━━━━━━━━━━━━━━━━━━━━
在大多数情况下可能使用的是TStringField和TIntegerField类型的字段对象从编程的角度来看这些TField对象的不同类型是完全相同的应用程序是根本不必关心TField对象的实际类型它们之间的主要区别在于它们内部保留的以及它们和数据库表之间传递的数据类型不一样
创建永久性的字段对象
我们知道字段对象在设计和运行阶段都是不可见的它既可以随着磁盘上的数据库文件被打开时动态地生成也可以通过字段编辑器Fields Editor来创建它 在应用程序中使用Fields Editor可以为数据库表中的字段创建相应的永久性的TField对象TField 部件是不可见的部件但是通过它我们可以定义数据库表中各字段的显示属性和显示顺序以及控制字段的取值范围等下面的例子告诉我们如何使用Fields Editor定义CustomerDB表中的四字段并在网格中显示表中的记录信息
操作步骤
建立一个基于 customer DB 表的数据库应用窗体并在窗体中用一个网格显示customerDB中的全部字段详细方法请参见节建好的窗体如图所示
设置窗体中Table的Active属性为True使网格显示表中的记录
选中Table并双击鼠标左键打开字段编辑器Fields Editor缺省情况下字段列表为空
单击鼠标右键弹出一个弹出式菜单然后选择Add Fields菜单项缺省情况下表CustomerDB中的全部字段被选进字段列表框从字段列表框中选择你要在网格中显示的字段具体做法是单击Custno字段并按住CTR键再单击CompanyPhoneLastInviceDate字段然后单击OK按钮确认被选择的四个字段时窗体中的DBGrid中只显示刚才被选中的四个字段值而不再显示表中其它的字段值
返回目录DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南
Java程序性能优化让你的Java程序更快更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
[] [] []