版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、要点:要点:数据库应用程序设计基础数据库应用程序设计基础数据库桌面(数据库桌面(Database Desktop)工具的使用)工具的使用BDE组件中的组件中的Table组件的使用组件的使用DataSource组件组件数据控制组件数据控制组件数据库应用基础数据库应用基础 一、数据库系统概述 数据库系统主要由三大部分组成:数据库管理系统(DBMS)、数据库应用程序、数据库(是按一定结构组织在一起的相关数据的集合)。DBMS是专门负责组织和管理数据信息的程序,是数据库系统的核心组成部分。用户通过数据库应用程序能够获取、显示和更新由DBMS存储的数据,通过应用程序提供的管理界面方便地管理数据库中的数据
2、。 数据库(DataBase)是由一个或多个数据表所组成的,而每一个数据表(Table)是有若干列(Columns)记录(Record)组成的。而记录是信息处理的基本单位,且每条记录在结构上是相同的。 二、 Delphi7.0数据库特性和支持的数据库种类(1) Delphi 7.0是目前开发数据库应用程序的最强有力的工具之一。 Delphi 7.0结合了传统的编程语言Object Pascal和数据库语言的强大功能, 它既可以用于传统的算术编程又可以用于数据库编程,特别是Delphi 7.0具有了强大的开发数据库的功能,利用Delphi 7.0数据库开发工具,程序员几乎不用编写任何代码就可以创
3、建一个简单的数据库应用系统。 Delphi 7.0应用程序能存取各类数据文件服务器或本地的桌面数据表及远程数据库。Delphi 7.0程序通过BDE(Borland Database Engine)或者ADO(Active Data Object)来访问各种数据源。其中BDE是Borland公司开发的数据库引擎,它的基本思想是把应用程序开发接口部分与连接数据库的部分分开。这样用户就可以按照自己的意愿把应用程序前端部分代码得编写通用,而数据源改变也不用重新编码,只要重新设置BDE就以了。ADO数据访问接口是Microsoft公司处理数据库信息的最新技术。它是一种ActiveX对象,采用被成为OL
4、E DB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互联ODBC三种方式的扩展。ADO已成为访问数据库的新标准。二、Delphi7.0数据库特性和支持的数据库种类(2) 数据库分为本地数据库和远程数据库两种。例如Paradox、dBase、FoxPro和Access等,这些数据库被称为本地数据库,一般用于编写单层的数据库应用程序,即本地数据库应用程序。另一种是远程数据库服务器,如InterBase、Oracle、Sybase、Informix、Microsoft Sql Server和DB2等,一般用于编写多层次的数据库应用程序,即C/S(客户/服务器Client/Se
5、rver)数据库应用程序和多层数据库应用程序。 Delphi 7.0数据库应用程序通过BDE或者ADO获取它们所需的数据。Delphi 7.0所支持的数据库种类一般包括以下几种。1.dBase数据库(.DBF)2.Paradox数据库3. ASCII文件(.TXT)4. 本地InterBase服务器(.GDB)5. Access数据库(.MDB)6. 各种数据库服务器7. 可以通过ODBC与其他数据库建立链接三、创建一个Delphi 7.0数据库应用程序 建立一个数据库应用程序的最终目标是为了给用户提供一个满足长期使用需求的软件产品,因此要开发一个成功的数据库应用程序,关键之一是要进行需求分析
6、,围绕用户的需求来开发程序。数据库应用程序的开发一般包括以下三个步骤。 一个完整的数据库应用程序必须包括数据库和应用程序两部分。数据库用来存放用户的数据,而应用程序则是用来维护数据库中的数据,包括增加、删除、修改、查询等操作。(一)Delphi 7.0数据库应用程序建立步骤1. 系统分析和设计系统分析和设计 这一步实际上是最重要的一步,要深入了解用户需求,也就是说要掌握用户使用该软件的具体要求有哪些,这就是所谓的需求分析。这一步不仅包括数据库结构的设计也包括应用程序界面的设计。2. 应用程序的实现应用程序的实现 应用程序的实现主要是通过Delphi 7.0提供的工具和组件及Object Pas
7、cal语言实现在系统分析与设计阶段的设想功能,并边编码边调试。3. 程序的运行和维护程序的运行和维护 使用Delphi 7.0开发工具完成程序编码后,就要对该数据库应用程序进行严格的测试,以让程序尽可能的稳定。并且在用户使用时,用户还会再提出一些新的需求和建议,这时还要对应用程序做一定的修改,使其满足用户的需求。(二) Delphi 7.0数据库桌面(1) 数据库桌面(Database Desktop)是Delphi 7.0中提供的最简单的数据库管理工具,通过它可以实现数据库的建立、维护和查询等操作。可以通过Delphi 7.0主菜单工具Tools菜单中的Database Desktop选项来
8、打开Database Desktop管理工具,或者通过操作系统的开始菜单中Delphi 7.0启动图标组打开它。Database Desktop数据操作窗体如图1所示。1. 创建数据表创建数据表 在Database Desktop窗口中选择File/New/Table菜单项,并在弹出的对话框中选择相应数据库类型,例如,要建立Paradox数据库,则选择Paradox7,如图2所示。图1 Database Desktop窗口图2 创建数据表 单击OK按钮后出现创建数据表的对话框,在对话框中设置数据表的结构,包括各字段的名称(Field Name)、字段类型(Type)、字段宽度(占用字节Size
9、)及是否设置关键字(Key)等。假设要创建一张学生档案数据表,且表名为student。 (二) Delphi 7.0数据库桌面(2) 按照字段属性要求,在图3显示的创建数据表的对话框中分别输入各字段的名称(Field Name)、字段类型(Type)、字段宽度(Size)以及是否设置关键字(Key)等字段属性。这里输入字段名直接在Field Name列中输入。输入字段类型(Type)时,要鼠标右击,这时会弹出菜单进行选择相关类型。如图4所示。(1)Alpha :字符串型(2)Number:数字型(3)Date:日期型(4)Logical:逻辑型(5)Memo:备注型(6)Graphic:图片型
10、图3 创建数据表对话框图4字段类型快捷菜单(二) Delphi 7.0数据库桌面(3)(1)建立主索引的方法在图4创建数据表对话框中,将光标移到要建立主索引字段的Key列下面,双击鼠标左键或者按空格键即可,这时在该列中会出现“*”,则表示设定关键字成功。这里设定“学号”为主关键字,即主索引,因此只要在该字段的Key列下面双击,即会出现一个“*”,定义关键字操作完成。图4 创建数据表对话框 另外还要给数据表建立索引,即定义关键字。索引分为主索引和次索引两种。主索引关键字字段中的数据必须惟一,而且每张数据表中只能建立一个主索引。而次索引则没有这个限制,在次索引字段中数据允许重复,且可以建立多个次索
11、引。 (2)建立次索引(辅助索引)的方法 在图4 创建数据表对话框中,通过右上方的Table Properties(表属性)下拉菜单中选择Secondary Indexes(次索引)选项,再单击Define定义按钮进入次索引定义窗口。在次索引定义窗口中,可从左边的Fields(字段)列表框中选择要建立次索引的字段,双击或者单击并左右方向移动按钮,将字段添加到右边的Indexed Fields列表框中,可以选择多个,然后单击OK按钮。这时在弹出的Save Index As对话框中输入索引文件名,然后单击OK按钮完成次索引的建立。 具体字段设置完成以后效果如图6所示。单击Save As按钮将设置完
12、成的表保存到D:Demosstu_data目录下,数据表名称为Student.db。 Delphi 7.0数据库桌面(4)图6 字段设置2. 修改数据表结构修改数据表结构 如果要修改某张表的结构,选择File/Open/Talbe菜单项打开数据表Student.db,然后选择Table/Restructure选项,就可以修改该表结构。3. 数据记录的输入、修改和删除数据记录的输入、修改和删除 打开数据表,选择Table/Edit菜单项,进入数据记录编辑状态就可以添加、修改和删除记录。要插入记录则可以选择Record/Insert选项,或者按下Insert键即可在当前记录前插入一条记录;按下Ct
13、rl+Delete键,可以删除当前记录。 在编辑窗体中输入相关记录,显示窗口如图7所示。图7 数据记录编辑窗口Delphi 7.0数据库桌面(5)4. 数据库别名管理数据库别名管理 Delphi 7.0中的数据库访问组件很多时候是通过数据库别名(Alias)来访问数据源的。数据库别名是一种逻辑数据库名,每一个数据库别名都指向一个确定的物理数据源。Delphi 7.0数据库组件就是通过这种逻辑的数据库别名代替物理数据库名的方法来访问物理数据库当中的数据,这样程序员就不必考虑数据库的物理位置,大大增强了数据的独立性和程序的通用性。 在Database Desktop中提供了管理数据库别名的功能,通
14、过Tools/Alias Manager菜单项进入别名管理操作窗口,如图8所示。图8 数据库别名管理窗口 一般在建立数据库后,要给存放数据库文件的文件夹建立一个数据库别名,以供Delphi 7.0控件进行访问。这里要给刚才新建的数据表student.db所在的文件路径建立数据库别名stu_data。 三、 使用数据库窗体向导设计数据库应用程序(1) 数据库窗体向导(Database Form Wizard)是Delphi 7.0自带的自动生成数据库维护窗体的工具。下面介绍如何用数据库窗体向导建立一个数据库应用程序,来管理刚才通过Database Desktop建立的数据库表文件student.
15、db中的数据。步骤如下:图9 数据库窗体向导Database Form Wizard 新建一个新工程项目Project1,选择主菜单中的database(数据库)菜单下的Form wizard(数据表向导)选项,弹出数据库窗体向导窗口Database Form Wizard,如图9所示。在Form Options框架中选择Create a simple form选项,即创建一个简单的表。(第二个选项Create a master/detail form是用来生成由主从表组成的维护窗体的。);在DataSet Options框架中选择Create a form using Ttable obje
16、cts选项,即用Ttable对象创建一个表,生成的窗体中用TTable控件来访问数据库。(如果选择第二项则是用Tquery组件访问数据库。)然后单击Next按钮,进入下一步向导。 使用数据库窗体向导设计数据库应用程序(2) 在图11中选择要维护的数据表student.db中的记录。在左边的“Avaliable Fields”可用字段列表框中选择要维护的字段,然后单击 按钮,将选中的字段添加到右边的列表框中;单击 按钮将添加全部字段到右边列表框中。这里将所有的字段都添加过去。利用 按钮和按 钮可以对已添加到右边列表框中的字段进行排序。单击Next按钮,出现图12所示界面。 在图12中选择字段在窗
17、体中的显示方式。有三种显示方式可以选择。水平(Horizontal):水平方向排列;垂直(Vertical):垂直方向排列;表格(Grid):以表格的方式显示。选择相应方式后会在左边的预览窗口中显示其排列效果。在这里,选择垂直方式(Vertical)排列,然后单击Next按钮。图10 指定数据表图11 选择字段图12 选择字段显示方式使用数据库窗体向导设计数据库应用程序(3) 在图13中选择字段说明标签的位置,有两种方式。Left:标签出现在字段信息的左方;Top:标签出现在字段信息的上方。选择Left选项,然后单击Next按钮。 在图14完成数据库表向导窗口中设定Grenerate a ma
18、in form复选框,表示生成的数据库表窗体为当前程序项目的主窗体,即运行时首先显示的窗体。这里将该选项选中,然后单击Finish按钮,这时会生成图15数据库表窗体。图13 选择字段说明标签定位置图14 完成数据库表向导图15 生成的数据库表窗体 以上例子通过Delphi 7.0提供的数据库窗体向导(Form Wizard)建立一个数据库应用程序。但是Delphi 7.0提供了更为强大的组件来开发数据库应用程序。Delphi 数据库桌面系统Database DesktopDelphi 桌面系统是一个典型的MDI程序,它主要支持三种类型的窗口:Table窗口 在该窗口中可以修改数据库表的结构,以
19、及操纵数据库表中的记录。Query窗口 在该窗口中可以对数据库表进行查询和修改操作(如插入、删除和修改记录等)。 SQL编辑器窗口 在该窗口中可以直接输入和执行SQL语句.Delphi 数据库桌面系统所使用的文件类型主要有以下几种:.DB Paradox 的表.DBF dBASE的表.SQL SQL文件.QBE 查询文件.PX Paradox表主索引文件.INI 初始化文件目录工作目录和私有目录。Desktop在打开和保存文件时使用缺省的工作目录。私有目录可用来保存某个用户专用的数据库文件。利用File菜单中的Working Directory 和 Private Directory 命令可以
20、分别为它们设定新的目录。 别名所谓别名(Alias)在此处就是目录的快捷实现。例如工作目录的别名是WORK:,私有目录的别名就是PRIV使用别名的好处,一是可以避免输入很长的路径名,二是当别名的定义改变后,所有引用该别名的桌面系统对象会自动地改为引用别名的新定义。设置私有目录使用别名建立表结构选择数据库类型 Paradox表的常用字段类型符号类型 长度 注释AAlpha 1255 字符型(由字母、数字等字符组成)NNumber 数值型(带小数点)SShort 短整型(-3276732768)D Date 日期型(形式为年-月-日,如98-10-1)MMemo 1240 备注型(长度n表示在表中
21、存放备注 文本的前n个字符,其余存放在一个 外部备注文件中)GGraphic 图像型(该字段可存放图像,但实际 上是将一个图像文件联连接到该字 段,图像还是存储在外部文件中。LLogical 逻辑型(取值为T或F,即真或假)修改表结构浏览和编辑表记录SQL语言语言 SQL语言是结构查询语言,是一种标准的关系数据库语言,Delphi中提供了对SQL语言的支持。对一般用户而言,在Delphi中使用的SQL语言的功能主要有: 1数据查询 格式:SELECT ALL | DISTINCT |TOP N|TOP N PERCENT *|列名1或表达式1 AS 列标题1 ,列名2或表达式2 AS 列标题2
22、 FROM 表名1 IN 数据库名1 别名1,表名2 IN 数据库名 2 别名2 WHERE 条件 GROUP BY列名1 , 列名2 HAVING 条件 ORDER BY 列名1 ASC | DESC , 列名2 ASC | DESC 例如,有语句:Select 学号,姓名,年级 from 学生 Where 专业=自动化其作用是“列出自动化专业的全部学生的学号、姓名和年级”。又如,有语句:SELECT 学生.学号,学生.姓名,必修课成绩.课号,必修课成绩.成绩 FROM 学生,必修课成绩 WHERE 学生.学号=必修课成绩.学号 其作用是“查询出所有学生的必修课的学习情况,查询结果中包含学号
23、、姓名、课号和成绩”。 2插入记录 格式:INSERT INTO 表名(字段名1 , 字段名2, ) VALUES (表达式1 ,表达式2,) 例如,有下列语句: INSERT INTO 学生(学号,姓名,专业) VALUES(040501,朱碧春,计算机软件) 其功能是向学生表中插入一条记录,并给学号、姓名和专业字段赋值。 3修改记录 格式:UPDATE 表名 SET 字段名1 = 表达式1,字段名2=表达式2 WHERE 条件 例如,有以下语句: UPDATE 必修课成绩 SET 成绩=成绩+3 WHERE 课号=02 其作用是将“必修课成绩”表中的“02”号课的所有成绩增加3分。 4删除
24、记录 格式:DELETE FROM 表名 WHERE 条件例如,有以下语句: DELETE FROM 学生 WHERE 专业=经济管理 其作用是从“学生”表中删除所有的“经济管理”专业的学生。 查询(查询(Query)窗口的操作)窗口的操作 当打开或建立一个新的查询时,桌面系统将打开查询窗口。 利用File菜单中的New/QBE Query 命令可以建立一个查询文件,QBE是Query By Example的缩写。 执行该命令后,系统提示你选择一个要查询的表,例如指定Student表,这时就会出现下图界面。选择查询字段、确定查询条件查询结果也是一张表SQL编辑窗口操作 利用File菜单中的Ne
25、w/SQL File 命令可以建立一个sql文件。执行该命令后,出现如下图所示的编辑窗口。数据(控制)感知控件 数据访问组件Data Control Data AccessTDBGridTDBMemoTDBNavigatTDBImageTDBListboxTDataSourcTDataSourcTTablTQueryBDE数据库组件结构DB数据集组件DBTTable表组件该组件封装了一个数据库表的所有结构和数据,使用TTable可以访问数据库中一张表中的数据。Ttable提供对数据库表中每一个记录和每一个域的直接访问,TQuery 查询组件一个查询组件封装了一个SQL语句,该语句在客户应用程序
26、中用于在一个或多个数据库表中检索、插入、修改和删除数据。因此,该组件实际上是为你使用SQL语句操纵数据库提供了一种手段。数据源组件TDataSource 数据源组件为了给数据感知控件提供一个抽象层和标准接口,Delphi 专门提供了一个数据源组件TDataSource。该组件是一个不可视的数据库组件。数据源组件在数据集组件和窗体上的数据控件之间提供了一个管道,它实现了对源于数据集数据的显示、导航和编辑。DataSource控件的重要属性如下:AutoEdit属性:决定了当与一个数据源控件相连的数据控制控件获得焦点时,此数据源控件是否自动的调用数据集控件的Edit方法,允许用户通过数据控制控件编
27、辑数据集中的数据。 DataSet属性:用来指明一个与当前数据源控件相联系的已存数据集控件的名字。 Enable属性:决定了与此数据源控件相连的数据控制控件是否显示数据,默认为True。 数据源组件DataSource控件的主要方法如下: Create:创建一个DataSource控件。Destory:撤销一个DataSource控件。Edit:决定是否对于数据源相连的数据集控件调用Edit方法。IsLinkedTo:检查数据源控件是否链接着一个特定的数据集控件。DataSource控件的常用事件:OnDataChange:当与DataSource相连的数据集中的记录指针位置变化时,触发这个事
28、件,常用这个事件保持多个控件的同步。OnUpdateData:在数据集控件中的记录更新时触发此事件。数据源组件Data Controls控件 Data Controls控件(数据控制控件),也称为数据显示控件。在该组控件页上包含了15个数据控制控件。可以发现,该组控件中的外观样式与Standard控件页中的控件有些相似,如DBEdit与Edit、DBListBox与ListBox等。不同之处在于Data Controls组控件能与数据表中的数据绑定,用于显示数据信息,当数据表中的数据改变时,显示的内容也会随之发生变化,而无需人为地去实现。 数据访问控件(Data Access)是不可见的,因此
29、必须有可见的数据控制控件(Data Controls)为用户提供数据的显示,每个数据控制控件都对应了一种数据显示方式。 数据感知控件DB最基本的属性: DataSource属性:指定了Data Controls控件的数据源,通过这个数据源,Data Controls控件才能访问数据表。DataField属性:与数据表中的某个字段关联,作为控件的操作对象。 数据感知控件DB常用的Data Controls组控件1DBGrid控件 2DBNavigator控件 3DBText控件4DBEdit控件5DBMemo控件6DBImage控件7DBListBox控件8DBComboBox控件9. DBbr
30、ichtext控件数据感知控件DB数据感知控件DBDBEdit 该组件用一个编辑框显示与之相连的字段的当前值,并允许使用标准编辑框的技术进行编辑。DBGrid 该控件以表格形式显示数据集中的数据,并象一般电子表格那样,允许用户操纵表格中的数据。DBNavigator 导航按钮,可定位、编辑、插入、删除、提交及刷新数据集中的记录。数据感知控件DBDBtext 该组件用于显示数据库中的数据的文本框,它只能显示数据库表当前记录的字段值,用户不能对其中的数据进行修改。DBmemo 该控件用于显示当前记录中某个字段中的数据,并可以修改其中的内容。DBbrichtext 该组件用于支持RTP格式 的多行文
31、本显示数据感知控件DBDBimage 该组件用显示当前记录中图像字段的数据。DBlistbox 该控件用于在一个列表中显示字段的内容DBcombobox 由文本框和列表框组合而成,用户既可以在文本框中输入数据,也可以在列表框中选择一项。实训: 数据库操作 实训目的1. 掌握数据库常用组件的应用2. 掌握数据库应用程序设计中的基本步骤 数据库应用实例DB一、实训题意 设计一个应用程序完成下列功能: 使用TDBGrid组件显示数据库customer.db 表中的记录,并在双击网格后显示一个列 表框,单击列表框中的某个值,网格中显 示该值。窗体如图所示: 数据库应用实例DB数据库应用实例DB数据库应
32、用实例DB table Datasource Dbnavigator Listbox Button dbgrid 二、实训所需组件及过程 建立Table对象Table1的属性 Database name 设为DBDEMOS。实现了对指定数据库的访问。 数据库应用实例DBTableName 设为 customer .DB,实现对表的访问Active属性决定数据集与数据库中的数据是否建立连接。当Active为False时,数据集关闭,此时数据集不能对数据库中的数据进行读写而当Active为True时,数据集打开,此时数据集可以对数据库中的数据进行读写。数据库应用实例DB建立数据源(DataSour
33、ce)对象Data Access DataSource 属性 DataSet 设为 Table1数据库应用实例DB建立数据感知控件表格对象Data Controls DBGrid 放到窗体中。DBGride1属性DataSource设为DataSource1。数据库应用实例DB设Table1的属性Active 为True 数据库应用实例DB建立数据导航控件 NavigatorData Control DBNavigator DBNavigator1属性 DataSource 设为 DataSource1数据库应用实例DB数据库应用实例DB主要程序代码:var Form1: TForm1; i:
34、integer;implementation$R *.dfmprocedure TForm1.BitBtn1Click(Sender: TObject);beginclose;end;procedure TForm1.DBGrid1CellClick(Column: TColumn);beginlistbox1.Visible:=true;listbox1.Items.Stringsi:= table1.FieldByName(company).AsString ;i:=i+1; end;procedure TForm1.ListBox1Click(Sender: TObject);begin for i:=0 to listbox1.Items.Count-1 do begin if listbox1.Selectedi then begin table1.Edit; table1.FieldByName(company).AsString :=listbox1.Items.Stringsi;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园学校卫生工作制度
- 幼儿园宣传小组工作制度
- 幼儿园常规消毒工作制度
- 幼儿园手足口病工作制度
- 幼儿园教师培训工作制度
- 幼儿园晚托工作制度范本
- 幼儿园法制安全工作制度
- 幼儿园疫情保安工作制度
- 幼儿园经费审查工作制度
- 幼儿园警校联防工作制度
- 2026中盐东兴盐化股份有限公司招聘17人备考题库带答案详解(a卷)
- 四川省绵阳市梓潼县2026届九年级中考一模语文试卷
- 2026年上海铁路局校园招聘笔试参考题库及答案解析
- 安防监控系统维保表格
- 山东省中小学生欺凌调查认定和复查复核程序指引解读
- TSG 08-2026 特种设备使用管理规则
- 2026年兴趣小组计划
- 国开2026年春季《形势与政策》专题测验1-5答案
- 5.1《阿Q正传》课件+2025-2026学年统编版高二语文选择性必修下册
- 传承五四薪火 谱写青春华章新时代青年的使命与担当
- 第7课 月亮是从哪里来的 公开课一等奖创新教学设计
评论
0/150
提交评论