首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
14.2 利用TDBNavigator部件创建存取程序
我们可以改进一下Cust程序以便它一次只在对话框中显示一个客户的记录信息,并用一个TDBNavigator部件控制对记录存取──允许我们选择一个记录来显示或编辑以及增加和删除记录。完成的应用窗体。
增强的Cust程序
14.2.1 创建应用程序窗体
我们可以非常迅速地创建起来,因为到目前为止我们对创建窗体的方法已经比较熟悉,我们首先把所有的部件都放到窗体中,然后再设置它们的属性。
开始一个新工程,设置窗体Form1的Name 属性为 Customerform2 , Caption 属性为 CustomerForm2。然后从部件选择板上的Data Access页上选取一个Datasource部件和一个Table部件放在窗体的右上角。再从Data Controls页上选取DBNatvigator部件放在窗体的左上角。
窗体中其余的部件如图14.3所示。它们是TDBEdit和TLabel部件,按图14.3 所示创建并布置部件,分别命名DBEdit部件为EditCustno、 Editcompany 、 EditAddr1 、EditAddr2、EditCity、EditState、EditZip、EditCountry、EditPhone 、EditFAX、EditTaxRate、EditContact。
现在我们来连接TTable部件和 TDataSource 部件, 然后连接所有的数据浏览部件和DataSource部件。设置TBNavigator部件和TDBEdit部件的属性,它们的DataSource属性都设置为DataSouce1。我们最后要做的事是连接窗体中各个TDBEdit 部件和它们在数据库表中对应的字段名,通过设置TDBEdit 部件的 DataField 属性来完成。 例如要连接命名为EditCustNo的TDBEdit部件和数据库表中的CustNo字段,具体步骤如下:
①选中窗体中的EditCustNo部件。
②在Object Inspector窗体中,单击DataField属性右边的箭头。
③从下拉列表中选中CustNo字段名。
对窗体中的其他TDBEdit部件执行以上操作连接到其对应的字段,然后保存文件。命名代码单元名为Cust2.pas,命名工程名为Cusprj2.DPR。
14.2.2 使用TDBNavigator部件移动记录指针
上述程序运行之后,在数据浏览部件中会显示数据库表中的第一条记录。利用Tab 键可以在字段之间移动,但是不能编辑字段。因为我们为了防止意外修改,设置了Table1的AutoEdit属性值为False。如果想对数据库表中的记录进行编辑、插入和删除操作或者想显示数据库表中另一条记录, 需要按 TDBNvigator 部件上这些功能所对应的功能按钮。TDBNavigator部件上的按钮和它们的功能如图14.4所示。
TDBNavigator中的按钮
TDBNavigator部件的绝大多数功能都可以根据其按钮的图标能够很容易地识别出来,而且TDBNavigator部件本身能感知到很多事情,如当前指针是否在数据库表的开头或尾部。如果用户正在查看数据库表中的最后一个记录,Next和Last按钮将会变灰成为非活动状态。同样,如果用户当前正在浏览数据库表中的第一条记录, TDBNavigator 上的 First 和Previous按钮会变灰而成为非活动状态。有关各个按钮的作用的更详细说明请查看联机帮助。
如果用户想修改当前的记录,单击TDBNavigator部件的Edit按钮,然后完成需要做的修改,在做完修改之后,单击Post按钮以便将作的修改写入实际的数据库表中(更新实际的数据库表中的记录在数据库术语中叫作“投寄”记录即PostT)。如果想取消所做的修改,单击Cancel按钮。Cancel按钮只取消自从上一次往数据库表中投寄记录以来对记录所做的修改。例如,如果用户曾修改了CustNo字段并单击了Post按钮投寄了修改,然后再修改Company字段并按Cancel,那么只有对Company所做的修改将会被取消。也就是说,一旦修改被写入了数据库表中,再按Cancle按钮是无法取消对记录的修改的,要想恢复到以前的状态,用户必须要重新编辑修改记录。值得注意的是,当用户修改了当前的记录,并移动到其他记录时,TDBNavigaator部件会自动地投寄用户对记录的修改。例如:如果我们修改了记录的Company字段,并没有按Post按钮以更新表中的记录,而是移动到下一条记录,这时用户对记录的修改也会自动地被写入数据库表中。
14.2.3 定制TDBNavigator部件
TDBNavigator部件中的按钮对我们开发人员来说是很方便的,但对于程序的最终用户来说不一定那么一目了然。为了帮助最终用户或初级用户更方便有效地使用TDBNavigator部件,我们可以设置TDBNavigator部件的ShowHint属性为True,这样当鼠标光标停留在TDBNavigator部件上的某一个按钮上超过大约1秒钟,在屏幕上便会出现该按钮的提示信息。如果我们不想使用TDBNavigator部件本身嵌入的提示信息,我们还可以设置TDBNavigtor部件的Hints属性,为每个按钮指定特定的提示信息,以帮助用户使用TDBNavigator部件。
TDBNavigator部件中有多个功能按钮,但并不是所有的按钮对每一个数据库应用程序都是需要的,特别是那些不允许修改表中的数据,或修改只是在很严格的控制下进行的数据库应用程序。我们可以通过设置TDBNavigator部件的 VisibleButtons 属性来确定要在TDBNavigator中显示哪些按钮步显示哪些按钮。例如,如果我们不允许用户修改表中的记录,我们就不需要Add、Delete、Post、Cancel 或 Refresh 按钮, 我们设置这些按钮的VisibleButtons属性为False,这样在TDBNavigator部件中将不会出现这些按钮。
TDBNavigator部件的ConfirmDelete属性和Delete 按钮配合使用对用户删除数据库表中的记录是非常有用的,当ConfirmDelete属性设置为 True (缺省设置), 当用户单击Delete按钮试图删除当前记录时,Delphi会弹出一个确认框,要用户确认是否真的想删除当前记录。这样,在用户进行删除记录的操作时,会更安全一些。如果用户不希望在按下Delete按钮时出现确认框,只要把ConfirmDelete设置为False就可以了。
还有一些属性可以用来定制TDBNavigator部件的外观和性能,有关这方面的详细信息请参看联机帮助。
相关推荐:2010年9月计算机等级考试试题及答案解析专题北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |