登陆注册
16017000000029

第29章 数据库应用程序设计(3)

DataSet属性是DataSource组件必须设置的属性,它指定DataSource组件连接的数据集组件。若DataSource组件在所有数据集组件之前放置,则该属性值只能从对象检查器属性值栏的编辑框输入;若放置DataSource组件之前已放置了数据集组件,则该属性值可从其下拉列表中选择。

2.AutoEdit属性

AutoEdit属性决定与DataSource组件连接的数据集组件是否处于自动编辑状态。该属性为布尔型属性,若其值为True,则与DataSource组件连接的数据控制组件对数据的修改会自动反映到数据表中;反之,则不能。其默认值为False。

3.Enable属性

Enable属性可以暂时地切断DataSource组件与相连的数据集组件的连接。该属性为布尔型属性,若其值为False,连接被切断。其默认值为True。

12.2.3数据控制组件

数据控制组件主要用于设计数据库应用程序用户界面,通过DataSource组件与DataSet组件相连接,对数据库中的数据进行浏览、编辑。

数据控制组件共有15个,位于组件模板的【DataControl】选项卡中,都是可视组件。

这些组件中的大部分同【Standard】选项卡中的一些组件功能、使用方法类似,只是增加了数据控制功能。

这些数据控制组件中,DBGrid组件和DBNavigator组件用DataSource属性同DataSource组件相链接,而其余13个组件都用DataSource属性和DataField属性同数据库相链接,DataSource属性用于指定组件链接的DataSource组件,DataField属性用于指定组件链接的数据表字段。在后面的介绍中,相同的属性就不再重复讲述。

1.DBGrid组件

DBGrid组件用网格的形式显示数据表中的数据,其每一行是一个数据记录,每一列是一个字段。

刚放置到窗体上的DBGrid组件如图12-8所示。

如用户数据库gongsi(公司),内建数据表zhiyuan(职员),该表有“姓名”、“性别”、“年龄”、“工龄”和“工资”5个字段。窗体中有Query1、DataSource1和DBGrid1共3个组件,Query1的DatabaseName属性为gongsi,SQL属性为:Selectfromzhiyuan,Active属性为True;DataSource1的DataSet属性为Query1;DBGrid1的DataSource属性为DataSource1,Options属性根据需要设置,设置完成后,DBGrid1显示如图12-9所示。

1)DBGrid组件的属性

(1)DataSource属性

DataSource属性指定与该DBGrid组件链接的DataSource组件。该属性可以在对象检查图12-9显示zhiyuan数据表内容的DBGrid组件器属性值栏的编辑框中直接输入;若在设置DBGrid组件的属性之前,窗体上已放置了需要的DataSource组件,该属性也可以从对象检查器属性值栏的下拉列表中选择。

(2)Columns属性

Columns属性决定DBGrid组件网格列项的特性,包括网格的列数、网格列的背景颜色及显示的文字的特性、网格列标题的特性及背景颜色等。

设置DBGrid组件的Columns属性,激活DBGrid组件,然后单击其Columns属性值栏右端的【…】按钮或直接双击DBGrid组件,弹出【EditingDBGrid1.Columns】(这里DBGrid组件的名称设为DBGrid1)对话框,如图12-10所示。

对话框有4个工具按钮,其中【AddNew(Ins)】、【DeleteSelected(Del)】和【AddAllFields】

常用,分别用来向显示网格中添加列项、删除列项、添加数据表中的所有字段作为列项。若设置该属性前,数据集组件、DataSource组件及DBGrid组件的其他属性已设置完毕,则单击【AddAllFields】按钮,这时数据集组件链接的数据表的所有字段显示在对话框的编辑区中,如图12-11所示;若需要对显示的列项进行调整,可再用【AddNew(Ins)】、【DeleteSelected(Del)】按钮加以增、删。

列项确定后,选择某一列项,对象检查器窗口显示该列项的属性设置窗口,可根据需要设置该列项的属性。其中重要的属性有:

①DropDownRows属性和PickList属性。PickList属性决定该列项是否有下拉列表及下拉列表的内容,DropDownRows属性决定该列项下拉列表的默认行数。单击PickList属性值栏右端的【…】按钮,弹出【StringListEditor】对话框,如图12-12所示,若不输入字符串,则该列项没有下拉列表;若输入若干行字符串,则可有若干行下拉列表,完成后单击【OK】

按钮即可。

②FieldName属性。它决定该列项中显示的数据表的字段。通常用于改变列项默认显示数据表字段。

③Color属性和Font属性决定该列项的背景颜色及列项中文字的字体属性。

④Title属性用于设置列项的标题特性。该属性为集合型属性,包含4个子属性:Alignment(对齐方式)、Color(标题背景颜色)、Caption(标题内容)和Font(标题字体)。

将各列项的属性设置完毕,单击对话框右上角的“关闭”按钮,关闭图12-12所示的【EditingDBGrid1.Columns】对话框。

(3)Fields属性

Fields属性包含DBGrid组件网格被选行中各个列项的内容。该属性为只读属性,用于通过网格读取数据表的内容,如:Edit1.Text:=DBGrid1.Fields[n].AsString;其中n为列项在行中的序号,起始为0。

(4)Options属性

Options属性决定DBGrid组件网格的外观和行为。该属性为集合型属性,包含13个子属性,均为布尔型属性,各子属性值为True时的含义如表12-1所示。

(5)SelectedField属性

SelectedField属性包含DBGrid组件网格被选列项的内容。该属性为只读属性,用于通过网格读取数据表的内容,如:Edit1.Text:=DBGrid1.SelectedField.AsString;2)DBGrid组件的事件

DBGrid组件有很多事件,其中常用的事件有以下几个。

(1)OnCellClick事件

单击DBGrid组件某一单元格时触发该事件。

(2)OnColEnter事件

当输入焦点转移到DBGrid组件的某一列项时触发该事件。

(3)OnColExit事件

当DBGrid组件的某一列项失去输入焦点时触发该事件。

(4)OnTitleClick事件

单击DBGrid组件某列项标题时触发该事件。

2.DBNavigator组件

DBNavigator组件用来移动数据表的当前记录指针,并可对数据表进行插入、删除、修改等操作。放在窗体上的DBNavigator组件如图12-13所示。

1)DBNavigator组件的按钮功能由此可见,通过DBNavigator组件的这些按钮,就可以很方便地对数据表中的数据进行操作。

2)DBNavigator组件的属性

(1)VisibleButtons属性

VisibleButtons属性决定DBNavigator组件各个功能按钮的可见性。该属性为集合属性,包含10个布尔型子属性:nbFirst、nbPrior、nbNext、nbLast、nbInsert、nbDelete、nbEdit、nbPost、nbCancel、nbRefresh,分别对应组件中的10个按钮,若某一子属性值为True,则对应的按钮可见;若某一子属性值为False,则对应的按钮不可见。其默认值均为True。根据实际需要,若不使用某个按钮,则可让该按钮不可见。

(2)Hints属性

Hints属性决定DBNavigator组件各个按钮的功能提示信息。DBNavigator组件的各个按钮,都有缺省的功能提示信息,单击Hints属性值栏右端的【…】按钮,弹出【StringListEditor】对话框,如图12-14所示,编辑区中的10行字符串,按顺序每一行有一个按钮的功能提示信息。用户可以不用缺省的提示信息,在对话框中另行设置,完成后单击【OK】

按钮即可。

(3)ShowHint属性

ShowHint属性决定DBNavigator组件是否显示按钮的功能提示信息。该属性为布尔型属性,若其属性值为True,则显示功能提示信息;否则,不显示。其默认值为False。

3.DBText组件

DBText组件以只读方式、用类似Lable组件的外观来显示数据表中当前记录的一个字段。

该组件除了要用DataSource属性指定组件链接的DataSource组件外,还要用DataField属性指定组件显示的字段。该属性值可以直接从对象检查器属性值栏编辑框中输入;若设置该属性值之前已设置了DataSource属性,也可以从其下拉列表中选择。该组件的其他属性类似于Lable组件。

4.DBEdit组件

DBEdit组件用来显示、编辑数据表中当前记录的一个字段,其功能和使用方法类似于Edit组件。

如前所述,使用该组件要用DataSource属性指定组件链接的DataSource组件,用DataField属性指定组件显示的字段。

如图12-9所示简例,窗体添加DBEdit1组件,设置其DataSource属性为DataSource1,DataField属性选择为“工资”字段,则DBEdit1显示当前记录“工资”字段的内容。

5.DBMemo组件

DBMemo组件用来显示、编辑数据表中当前记录一个大文本字段,其功能和使用方法类似于Memo组件。

6.DBImage组件

DBImage组件用来显示数据表中位图格式的字段,其功能和使用方法类似于Image组件。

7.DBListBox组件、DBComboBox组件和DBCheckBox组件这3个组件的使用同ListBox组件、ComboBox组件和CheckBox组件类似,只是同前面介绍的组件一样,要同数据表的字段相联系。

12.3数据库应用程序开发步骤

开发Delphi数据库应用程序,一般需要如下步骤:

(1)建数据库,包括选择数据库类型、创建用户数据库和数据表、向数据表中输入数据;(2)配置ODBC;

(3)设置BDE参数;

(4)设计应用程序界面;

(5)编写程序代码;

(6)运行、调试程序。

下面将具体介绍数据库应用程序设计的各个步骤。

12.3.1创建数据库

开发Delphi数据库应用程序,首先要创建数据库。

创建数据库包括选择数据库管理系统的类型、在选定的数据库管理系统中创建自己的数据库和数据表、向数据表中输入必要的数据。

数据库管理系统的选择,要考虑数据量的规模、应用环境、开发成本等诸多因素。

数据库和数据表的创建及数据的输入,各数据库管理系统都提供各自的方法。

数据库的创建,不属于本书的内容范围,读者根据选用的数据库类型参阅相关的书籍。

除了使用选定数据库管理系统提供的创建数据表、输入数据表数据的手段外,用户也可以使用Delphi提供的数据库管理工具DatabaseDesktop(数据库桌面)创建数据表、输入数据表数据。

1.使用DatabaseDesktop创建数据表

使用DatabaseDesktop创建数据表的步骤如下。

(1)执行【开始】→【程序】→【BorlandDelphi6】→【DatabaseDesktop】系统菜单命令,或在Delphi集成开发环境中执行【Tools】→【DatabaseDesktop】菜单命令,启动【DatabaseDesktop】,如图12-15所示。

(2)执行窗口中的【File】→【New】→【Table】菜单命令,打开【CreateTable】对话框,如图12-16所示。

(3)在【Tabletype】下拉列表中选择使用的数据库类型,这里选择Paradox7,然后单击【OK】按钮,关闭【CreateTable】对话框,打开【CreateParadox7Table(Untitled)】对话框,如图12-17所示。

(4)对话框的【Fieldroster】编辑区列出了创建的数据表字段的FieldName(字段名称)、Type(字段数据类型)、Size(字段尺寸)和Key(是否为关键字段)几个区域,供用户设定数据表的结构。

在第一个字段的FieldName栏,输入第一个字段的名称;右击第一个字段的Type栏,弹出快捷菜单,选择第一个字段的数据类型;根据需要,在Size栏确定第一个字段的尺寸,需要注意的是,有些数据类型具有默认的尺寸,不需要另行设定;最后确定第一个字段是否为关键字段,若确定为是,双击Key栏,显示“”,则为关键字段,再双击Key栏,“”消失,则不为关键字段。第一个字段设置完毕,按回车键,高亮条停在第二个字段的FieldName栏处,按如上方法设置第二个字段,…,直到所有字段设置完毕。建立了数据表的【CreateParadox7Table(Untitled)】对话框如图12-18所示。

图12-18创建了数据表的【CreateParadox7Table(Untitled)】对话框若建立的数据表的字段名为汉字,直接在高亮条状态下输入汉字会显示乱码,必须用鼠标单击高亮条,使之变成光标形状再输入汉字。后面向数据表输入的数据为汉字时也有这样的问题。

同类推荐
  • 中国3D打印的未来

    中国3D打印的未来

    自2012年以来,有关3D打印的报道屡见报端,这一新型制造技术引起了全世界的广泛关注。《中国3D打印的未来》作者、中国3D打印技术产业联盟秘书长罗军认为,中国从20世纪90年代初开始涉足3D打印技术,并取得了巨大进展,但与国外同行相比仍存在一定差距。特别是中国3D打印企业普遍存在“小而散”、各自为政的现象,如何发挥整合优势、抱团发展是目前亟需解决的问题。如果能够加强同行合作,抱团发展,形成合力,相信3D打印会成为唯一一项中国有可能赶超世界先进水平的技术。
  • Delphi程序设计教程

    Delphi程序设计教程

    本书为适应不同层次读者的需要,从Delphi的基本知识讲起,由浅入深,全面讲述了Delphi的集成开发环境、Delphi的编程语言——ObjectPascal、常用组件的使用、窗体的设计、菜单的设计、对话框的设计、多文档界面程序的设计、多媒体编程和数据库应用程序设计等内容。
  • 办公软件高级应用

    办公软件高级应用

    日新月异的信息技术使计算机的应用渗透到各行各业,融入到我们的工作、学习和生活中,特别是在办公领域中运用计算机技术,可以实现办公自动化,成倍地提高工作效率。在众多的办公软件中,微软公司的Office系列软件是办公自动化软件中的佼佼者,其强大的功能深受全世界广大用户的青睐。根据当前业界的需求以及办公软件的实际应用范围,本书针对Office2003系列产品,深入讲解其高级应用知识和操作技能。
  • 组建家庭局域网与无线网

    组建家庭局域网与无线网

    该书是“快乐驿站”丛书之一,是一本精心为初级家庭电脑用户打造的局域网与无线网组建入门与提高的图书,同时还涉及一些办公网络的组建内容。《组建家庭局域网与无线网》以局域网和无线网的功能、设置以及实际应用为导向,用生动的实例、形象的图解和幽默的语言循序渐进地介绍了局域网和无线网的概念、产品、设计、组建、调试与维护的相关内容。
热门推荐
  • 七彩隐侠之触礁

    七彩隐侠之触礁

    三年前的一场车祸,带走了他父亲的生命,也带走了他全部的记忆。三年后一桩离奇的绑架案,她和他再次相遇,从此纠缠不清。失去的记忆逐渐清晰起来,车祸的真相也随之浮出水面,他要怎样摆脱现在的困境,对敌人迎头痛击呢?她和他又会有怎样的结果?
  • 总裁好火热

    总裁好火热

    她,明明是妹妹,却要装扮成哥哥。剪掉长发,换上西装,戴上眼镜,帅气出任总裁一职。他,有着狐狸一般的皮相,却绝对是一匹白眼狼。当他遇上女装男装的她,能hold住吗?当她遇上狡猾的他,能逃出狼爪吗?
  • 元素能量体

    元素能量体

    陨落的至尊雷神,留在地球的最后血脉,越来越稀薄的血脉如何继续苟且流传。元素,成神的根本。修真,成仙的必须。傅凌身负元素血脉,却妄想去修真,会成功吗?无形的巨手将他笼罩,他要如何冲破束缚。成神,还是成仙,这是个问题,值得去好好思考。
  • 道下苍生

    道下苍生

    越过天地玄黄,跨过时代洪荒,揭过众强陨落,来到一片被人遗忘的土地之上,一颗幼小的种子悄然种下,沐浴着血与火,扎根在一个众强凋零的时代…玄界大陆…万年之前,道修鼎盛,鬼族肆虐,道修中走出圣人,以天地冥气为引,布置鬼门大阵,将鬼族封印于九道鬼门之中,同时封印了冥气,依靠冥气修炼的道修从此没落,玄气越发旺盛,迎来了玄修的万年鼎盛时代…转眼间,万年过去,道修没落,鬼门封印松动,冥气悄然逸散,散落在玄界中的鬼族悄然聚集,欲图卷土再来,沉浸在安逸中的玄界之人丝毫不知正有一只无形大网悄然张开…(慢热型,保证质量,放心品读...)本书书友群:116161901,喜欢本书的朋友可以加一下
  • 青少年应该知道的电

    青少年应该知道的电

    本书主要介绍了电的基本知识、基本概念,电在农业、工业、家庭等的应用以及新能源的探索。
  • 红鸾劫之恋上仙尊大人

    红鸾劫之恋上仙尊大人

    他本为仙界尊者,乃与天地同寿,日月同辉,古荒时期,战妖魔,镇妖兽,被众仙奉为战神,近万年来仙界安稳,无妖魔敢入浸仙境…彼时这位仙尊竟生出下凡历劫的打算……她是九重天无人问津一小仙,居于太乙真君处,未想竟要承了太乙真君的情,下界干起勾搭的行业,且对方不是别人,竟是古荒时期的战神青梵仙尊。传闻这位尊者年岁已过五十万龄,九重之上貌美的仙子甚多,竟未有一个能入的了他的尊眼…说白了这就是一小仙下凡勾搭Boss仙尊的故事。但绝对不是小白,文中情节跌宕起伏,以情感悬疑为主线,埋下多处谜团,生动有趣,且冷笑话颇多。
  • 上清高上灭魔洞景金元玉清隐书经

    上清高上灭魔洞景金元玉清隐书经

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 月婵恋

    月婵恋

    落魄妖精躲到人间做棵树,可是她的心是骚动的,比如爱上一个寿命只有七十年的人类,你以为这段爱情就这样结束了?她跑到冥府查生死薄,意外成为阎帝唯一的入门弟子。万年寒冰人参现于人间,她乔装打扮从黑白无常的手上救下一个蓝衣女子。她爱的人类重新转世,苦苦单恋终于可以呈现在明媚的阳光下,她在人间追寻至死不渝的爱情,而另外两股势力也正向她伸出魔爪!在热情与爱情、忠诚与背叛的沧桑变幻、悲喜轮回中,最终书写了一段让人透彻心扉的浪漫辉煌的传奇爱情。感谢阅文书评团提供书评支持!保底一更20:00
  • 大家风采:天下名人——世界上卓越的20位哲学家

    大家风采:天下名人——世界上卓越的20位哲学家

    本书主要写了世界著名的二十位哲学家的出生背景,教育背景,求学历程,以及成名作品,还有对世界的贡献。
  • 扑倒BOSS奖您相公一枚

    扑倒BOSS奖您相公一枚

    这是一个萝莉小白和腹黑boss的扑倒与反扑到,也是一个游戏菜鸟的成长历程."师傅如果你也面临着称霸天下和爱情只能选一个的局面你选哪一个""快醒醒,称霸天下得先看看警察叔叔答不答应"泪说好的柔情呢工作后的某酥望着叶烨"你以后是我BOSS了,是不是代表我是不是可以靠着被你潜规则上位那"叶烨"来吧扑到我奖励你一个相公"