




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 使用bde组件开发数据库应用程序 本章要点: 常用的bde组件 ttable组件的常用属性、方法与事件的 用 tdatasource组件 常用的数据控制组件及其使用方法 用ttable组件进行数据库常规操作的方 法 8.1 使用bde组件开发数据库应用程序的一般方法 8.1.1 使用bde组件开发数据库应用程序的模式 1. bde组件 bde组件均位于【bde】组件页中,其作用是与实际 的物理数据库建立联系,从物理数据库中提取信息, 或把信息的修改存放到物理数据库中。 2. data access组件 data access组件位于【data access】组件页中,该类 组件是连接b
2、de组件和数据控制组件的桥梁 。 3. data controls组件 8.1.2 常用的bde组件简介 8.2 ttable组件的使用 8.2.1 ttable组件的常用属性 1. databasename属性 2. tablename属性 3. tabletype属性 4. active属性 5. readonly属性 6. modified属性 7. fieldcount属性 8. recordcount属性 9. recno属性 10. recordsize属性 11. fields属性 12. bof属性 13. eof属性 14. filter属性 15. cachedupdate
3、s属性 【例8-1】 显示与ttable组件相连接的数据表的相 关属性。程序设计界面如图8-3所示,使用ttable组件 与数据表“学生”相连接。程序运行时在listbox1中 显示表中的所有字段名,在编辑框edit1中显示表名, 在编辑框edit2中显示字段数,在编辑框edit3中显示记 录数,在编辑框edit4中显示记录号,在编辑框edit5中 显示记录长度。程序运行界面如图8-4所示。 分析:为使ttable组件与物理数据库连接起来, 至少应设置它的databasename属性和tablename属 性。为使ttable组件中的数据集能够使用,应把它的 active属性设为true。为使
4、程序在一开始运行时就能显 示出所有字段的字段名,可在窗体的oncreate事件中 使用一个循环,在循环中把fields数组的每个元素的 fieldname属性值添加到listbox1列表框。显示数据表 的其他属性,可通过相应的属性名来实现。 8.2.2 ttable组件的常用方法 1. fieldbyname方法 该方法用于引用数据集中的某个字段,该方法 的函数形式如下: function fieldbyname(constfieldname:string):tfield 【例8-2】 编写一个显示字段名称和选中字段的主要 属性的程序。程序的设计界面如图8-5所示,程序的运 行界面如图8-6所
5、示。程序执行时,首先把当前目录下 的学生表中的字段填充到列表框listbox1中,当在 listbox1中选中某字段后,该字段的相应属性值将显 示在对应的编辑框中。 分析:显示字段名的方法同例8-1。当在listbox1上单击 以选中某个字段时,可通过ttable组件的fieldbyname方 法以列表框中选中的列表项作为参数来访问对应字段的属 性。需注意的是编辑框中只能显示字符串数据,因此当字 段属性不是字符串数据时,应把它转换为字符串数据。 2. 记录指针移动方法 【例8-3】 编写一个数据库应用程序,用来浏览和维护 当前目录下“学生表”中的数据,要求程序的浏览和维护 功能均使用组件来实现
6、。程序的设计界面如图8-7所示, 程序的运行界面如图8-8所示。 分析:可使用tdatasource组件建立ttable组件与 数据控件组件之间的联系,使用tdbnavigator来实现 记录指针的移动,使用tdbedit来显示ttable组件数据 集的当前记录的内容。 【例8-4】 编写一个数据库应用程序,用来浏览当前 目录下“学生表”中的数据,要求记录指针的移动采 用移动记录指针的方法。程序的设计界面如图8-9所示, 程序的运行界面如图8-10所示。程序运行时单击相应 的按钮,将实现记录指针的相应移动。 分析:为使在程序运行时,单击相应的按钮可实现 记录指针的相应移动,应在按钮的oncli
7、ck事件代码中 调用相应的记录指针移动方法。 3. 查询记录的相关方法 ttable组件提供了4种查询记录的方法 : (1)gotokey方法:该方法用于精确查找 ; (2)findkey方法:该方法是实现精确查找 的另一种方法,它和gotokey一样均是一个函 数过程,格式如下: function findkey(const keyvalues: array of const): boole (3)gotonearest和findnearest用于模糊查 找。 4. 数据操作相关方法 【例8-6】 编写一个对当前目录下的学生表进行维 护的程序,要求该程序能够完成记录的增加、插入、 修改和删除
8、等功能,对于增加和修改功能,程序应能 提供确定和取消操作。程序的设计界面如图8-13所示, 程序的运行界面如图8-14所示。程序运行时,单击相 应的按钮将完成相应的数据表的维护操作。 分析:调用相应的ttable组件的方法实现相应的数 据操作功能。 8.2.3 ttable组件的常用事件 1. before事件 2. after事件 3. on事件 【例8-7】 为例8-6添加一条关于删除的参照 完整性验证:如果必修课成绩表中有当前学生 的选课,则不允许删除当前记录。再给“确定” 操作增加一个提示功能:当执行post成功时, 将显示“保存成功”的提示信息。 分析:假设table1连接学生表,t
9、able2连接必修 课成绩表,在table1组件中执行删除操作发生之前, 将发生beforedelete事件,可在该事件中根据 table1组件的当前记录的学号值在table2组件中查 找相应的学号,如果找到则不能删除,系统可抛出 一个异常来终止删除操作。post方法执行成功后, 将会发生afterpost事件,可在该事件中显示提示 信息。 8.3 tdatasource组件的使用 tdatasource组件是使用最多的数据 访问组件,用来连接数据集组件和数据 控制组件。 tdatasource组件的属性比较少,最 重要 的是dataset属性。该属性指出要 与哪一个数据集组件建立联系,它的属
10、 性值是某一个数据集组件 8.4 常用数据控制组件及其使用方法 8.4.1 数据控制组件的常用属性及使用方法 1. 基本属性 (1)datasource属性 (2)datafield属性 2. 使用方法 (1)在界面上添加ttable组件。 (2)在界面上添加一个tdatasource组件 。 (3)在界面上添加数据控制组件。 8.4.2 常用的数据控制组件 【例8-8】 编写一个对学生表进行显示和修改的程序。 程序有两个窗体form1和form2,设计时的form1和 form2如图8-20和图8-21所示。 程序执行时,首先出现form1,在form1上的网格控 件上双击,将会出现form
11、2。在form2中将显示双击的 当前记录的值,可以对它进行修改,修改完成后单击 “确定”按钮将会把修改的结果存放到数据表中并返 回到form1窗口,单击“取消”按钮将取消用户所做的 修改操作并返回form1窗口。 分析:为使form2中的数据控制组件能够和form1中 数据控制组件显示同一个数据集的内容,应把form2上 相应的数据控制组件的datasource属性设置成与form1 上的数据控制组件使用的tdatasource组件的名称。 【例8-9】 编写一个必修课成绩表的输入程序,要求 输入学号使用一个tdblookup combobox组件,该组 件从学生表中提取学号信息,让用户选择输
12、入。程序 的设计界面如图8-22所示,程序的运行界面如图8-23 所示。 分析:输入成绩时,学号必须是一个具体的学生的 学号,因此可从学生表中提取出学生学号信息供用户 选择以减少输入错误。 【例8-10】 设计一个动物图片浏览程序,用来浏览 数据库别名dbdemos下的animals. dbf表中的bmp字 段中存放的动物照片。程序的设计界面如图8-24所示, 程序的运行界面如图8-25所示。 分析:显示数据库中图像字段的内容,应使用 tdbimage组件。 【例8-11】 用database desktop应用程序创建一个 名为rsda的数据表,该表有4个字段:编号、姓名、 性别和婚姻状况。
13、表的结构如图8-26所示。然后编写 一个对该数据表进行维护的数据库应用程序,程序的 设计界面如图8-27所示,程序的运行界面如图8-28所 示。 分 析 : 由 于 性 别 只 有 两 种 情 况 , 故 可 用 dbradiogroup组件供用户选择输入。婚姻状况是互斥 的,可通过tdbcheckbox组件来输入或显示。 8.5 主从表数据库应用程序的编写方法 【例8-12】 以dbdemos数据库别名下的 customer.db作为主表,以orders.db作为从表,以 custno字段作为主从表联系的字段建立主从表应用程 序。程序的设计界面如图8-29所示,程序的运行界面 如图8-30所
14、示。程序运行时在主表中选定一个客户, 从表将显示相应客户的订单信息。 8.6 通过程序创建数据库表 1. fielddefs属性 2. indexdefs属性 3. createtable方法 【例8-13】 通过编程的方式在当前目录下 生成一个名为rygl的paradox表,该表有四个 字段,分别为:bh(编号,字符型,8个字节, 必填字段)、xm(姓名,字符型,10个字节, 必填字段)、nl(年龄,整型)和hf(婚否, 逻辑型)。同时还为该表创建了两个索引,分 别为bh(索引字段为bh,是主键索引)、 xm(索引字段为xm)。并给该表添加两条记 录,内容为: 01001001 王和平 23
15、 true 01001002 李小华 21 false 程序的设计界面如图8-33所示,程序的运行界面如图8- 34所示。 分析:建立数据表,首先要定义表的字段,可通过 ttable组件的fielddefs属性的addfielddef属性来实现。 如果表有索引,还必须要定义索引,可通过ttable组 件的indexdefs属性的addindexdef属性来实现。字段 和索引均定义好后,可通过调用ttable组件的 createtable方法来建立表。 8.7 ttable组件编程综合实例 【例8-14】使用ttable组件实现“图书浏览与维护程 序”,该程序的功能要求如下。 (1)建立一个名为
16、tsxx的表,表的结构如图8-35所示。 (2)按钮的功能实现与状态设置。 如果数据表中无记录,则除【添加】按钮外的其他按钮均不可 一开始,【确定】和【取消】按钮不可用,单击【添加】或【修 改】按钮后,【确定】和【取消】按钮可用,此时其他各按钮均 不可用。当单击【确定】或【取消】按钮后,这两个按钮不可用, 其他各个按钮均可用。 当记录指针处于文件尾时,【后移】和【末记录】按钮不能用, 当记录指针处于【文件头】时,【前移】和【首记录】按钮不能 用。 (3)显示各字段内容的组件不再使用data controls组件页上的 组件,而是使用像tedit,tcheckbox等的一般组件。 (4)查询使用
17、findkey方法来实现。 8.8 其他bde组件 8.8.1 tstoreproc组件 (1)storedprocname属性 (2)params属性 (3)paramcount属性 (4)create方法 (5)execproc方法 8.8.2 tdatabase组件 1. tdatabase组件的常用属性 (1)aliasname属性 (2)connected属性 (3) databasename属性 (4)exclusive属性 (5)keepconnection属性 2. tdatabase组件的常用事件 (1)applyupdates方法 (2)close方法 (3)commit方法 (4)rollback方法 (5)starttransaction方法 小结 利用bde组件中的ttable组件能够快速地开发出功 能强大的数据库应用程序。ttable组件的作用主要是 建立与物理表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司与公司间借款合同范本2025年
- 供电合同协议书范本(2025版)
- 一年级数学(上)计算题专项练习集锦
- 二零二五年度电脑系统自动化部署与安装服务合同
- 2025年度绿色生态园区广告设计执行合同
- 二零二五年度高端酒店餐饮服务管理合同范本
- 二零二五年度艺术品鉴定评估师劳动合同参考
- 2025版食品原料定点采购合同模板
- 二零二五年度高空作业吊车安全责任及操作规范合同
- 二零二五年度教育设施浇筑水泥土班组劳务分包服务协议
- 勇敢面对的事课件
- 2025-2030中国半导体级NMP行业市场发展分析及趋势前景与投资战略研究报告
- 2025年全国中医医师定期考核中医专业理论知识考试题库及答案(共五套)
- 《电解铝(含熔铸、碳素)企业安全生产标准化评定标准》
- 商铺顶棚拆除方案范本
- 2024年山东华鲁恒升化工股份有限公司招聘考试真题
- 大客户管理战略及方法
- 仪器仪表制造工(高级)考试题库及答案
- 【天猫】2025春夏运动户外行业趋势白皮书淘宝天猫-智篆GI11
- 横纹肌溶解症的护理
- 2023年度湖北省政府采购评审专家资格高分通关题型题库附解析答案
评论
0/150
提交评论