首页 Delphi教程—Delphi数据库编程

Delphi教程—Delphi数据库编程

举报
开通vip

Delphi教程—Delphi数据库编程Delphi教程第10章Delphi数据库编程10.1数据库系统开发基础数据库系统主要由三大部分组成:(1)数据库(按一定结构组织在一起的相关数据的集合)。(2)数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)。(3)数据库应用程序(它使用户能够获取、显示和更新DBMS存储的数据)。10.1.1数据库的基本概念1.数据库(DataBase)  数据库简单的定义是:有蕴含着一定的意义的数据,一些按照一定的规律组织起来所组成的数据集合。在数据库中除了用一些作为外部信息的数据之外,还有一些内部信息数据。这...

Delphi教程—Delphi数据库编程
Delphi 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 第10章Delphi数据库编程10.1数据库系统开发基础数据库系统主要由三大部分组成:(1)数据库(按一定结构组织在一起的相关数据的集合)。(2)数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)。(3)数据库应用程序(它使用户能够获取、显示和更新DBMS存储的数据)。10.1.1数据库的基本概念1.数据库(DataBase)  数据库简单的定义是:有蕴含着一定的意义的数据,一些按照一定的规律组织起来所组成的数据集合。在数据库中除了用一些作为外部信息的数据之外,还有一些内部信息数据。这些数据定义了数据库的用户及其相应的权限,数据库 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 单的定义等等,通常把存放这些数据的地方叫做数据字典。数据字典是有数据库系统自行创建并自动维护的,它实际上也是数据库的一组表和视图,与其他的表单和试图并没有物理结构上的区别,唯一不同的是它的内容。2.关系数据库(RelationalDataBase)  关系数据库是由若干个表组成的,每一张二维表对应着一种联系。表的每一行称为记录;表的每一列叫做字段;域就是属性的取值范围。对于dBASE、FoxPro、Paradox这三种数据库系统,数据库对应于某一个子目录,而其他类型如MSAccess、Btrieve则是指某个文件。  表(Table):一个表就是一组相关的数据按行排列,像一张表一样。  字段(Field):在表中,每一列称为一个字段。每一个字段都用相应的描述信息,如数据类型、数据域等。  记录(Record):在表中,每一行称为一条记录。  索引(Index):为了加快访问数据库的速度、许多数据库都使用索引。  主键(Key):主键是对于这张表的惟一标识,即一个列或几个列的组合。主键最显著的特点就是在任何给定的条件,没有两个主键包含相同的值,这个称作主键的惟一性原则。同时主键中每一个属性都不能被去掉,而同时仍能够保持主键的惟一性,这个我们称作主键的最小性原则。关系型数据库系统具有很多优点:(1)关系数据库有深厚的理论基础,它是基于关系代数和关系理论的模型。(2)以二维表的形式表示数据。(3)表与表之间的联系不是硬编码的。(4)不需要用户了解它在计算机中的物理存储形式。(5)用系统表来提供其本身的内容和结构。(6)可以通过SQL语言来操纵。SQL语言是专门用于操作这种模型的语言。(7)支持空值的概念。3.数据库管理系统(DBMS)   数据库管理系统是一个用来管理数据库的软件,是数据库能够正常工作的核心。对数据库的所有操作,包括创建各种数据库的数据类型、表单、视图、存储过程,以及其他的数据库应用程序对于数据库中数据的读取和修改,都是经由数据库管理系统完成的。当数据库应用程序把对于数据库数据的操作指令通过数据库管理系统的接口函数发送给数据库管理系统后的一切工作都只是数据库管理系统的的了,数据库应用程序所要做的就只是等候数据库管理系统把它所需要的数据给它,然后进行加工处理。4.数据库应用程序  数据库应用程序是通过DBMS访问数据库中的数据并向用户提供数据服务的程序。简单地说,它们是允许用户插入、删除和修改并 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 数据库中数据的程序。这种程序是由程序员使用通用或者专用的程序设计软件开发的。10.1.2数据库设计过程1.数据库的建立 创建一个数据库的过程有以下几个步骤:(1)确定数据库的使用范围(2)确定支持数据库所需要的字段。(3)将字段划分成一些合理的数据表。(4)确定数据表之间的关联。  在确定数据库的需求后,要将这些需求划分成几个合理的数据表。所谓合理的数据表,通常要满足以下几点:(1)数据表中的字段所描述的内容有一定的联系。(2)数据表中至少有一个字段的记录不是重复的。(3)一个数据表与数据库其他的数据表中至少一个能够关联。(4)一个数据表与数据库其他的同一数据表不要有多对多的关联。2.数据表的结构  在数据表结构中需要一个关键字段,数据表中的数据就是按主关键字段的顺序存放的,而且利用主关键字能够高效地与其他数据表建立关联。索引也是数据表常用的,在数据库中,利用索引可以加快访问速度。10.1.3数据库应用程序的开发步骤1.初步设计  设计阶段要根据用户的需求,定义数据库和应用程序的功能,确定用户的需求功能哪些在设计阶段实现,哪些在程序中实现。2.功能实现  将客户需求功能分成几个合理的功能块,分别进行程序设计、调试。常见的划分方法上分成四个功能块:(1)信息处理(2)数据库管理(3)系统维护(4)辅助功能  信息处理是建立数据库应用程序的目的。设计数据库应用程序的目的是为客户提供所需要的信息服务,辅助管理工作,提高工作效率和水平。信息处理最基本的功能包括各 类信息查询,统计报表等功能,对于特定的应用程序还可以有特定的功能。数据库管理的主要功能是负责数据库的更新、修改等。一个特定的数据库管理操作要由它的用户的权限决定,这个权限要由有权的用户指定。系统维护的功能是保证数据库应用程序运行的可靠性和安全性,一般包括用户管理,口令设置,各类系统变量和数据字典维护等。3.运行和维护程序  用户在使用应用程序的过程中会对应用程序提出一些建议和要求,根据用户的建议和要求对数据库应用程序进行适当的修改和完善,从而提高程序的性能。10.2SQL结构化查询语言基础10.2.1SQL语言的发展  目前SQL语言被广泛地使用,它具有强大的生命力,它使用所有数据库用户包括程序员、DBA管理员和终端用户都受益非浅。SQL语言具有以下优点:(1)SQL语言是所有关系数据库的公共语言。(2)SQL是非过程化查询语言。  有两种方式使用SQL语言:一种是在终端交互方式下使用,称为交互式SQL语言;另一种是嵌入在高级语言编写的程序中使用,称为嵌入式SQL语言。10.2.2SQL的基本查询功能  SELECT语句是使用最多的SQL语句,它完成的是数据库的查询功能,SQLSELECT语句,从数据表中选择出符合条件的记录。  Distinct语句的作用是对某个表所选择的字段数据,忽略重复的情况,也就是说,针对某个字段查询出来的记录结果是惟一的。1.TOP和ORDERBY语句  TOP语句实现从第一条或最后一条开始(利用ORDERBY条件子句),返回特定记录的数据的功能。如果没有加上ORDERBY条件的话,所得到的数据,将会是随机的数据。此外,在TOP语句之后,除了可以加上 数字以外,还可以利用保留字PERCENT来查询。排序参数:ASC递增顺序排列,默认值。DESC递减顺序控制。2.IN条件字句  指定要查询哪一个外部数据库的表。3.HAVING条件子句  指定一特定的分组记录,并满足HAVING所指定的条件或状态,但条件是针对分组的条件设置。4.GROUPBY条件子句  依据指定的字段,将具有相同数值的记录合并成一条。5.BETWEED…AND运算符 决定某一数值是否介于特定的范围之内。6.LIKE操作数 将一字符串与另一特定字符串样式比较,并将符合该字符串样式的记录过滤出来。10.2.3SQL的其他应用1.SQL数字函数(1)AVG:算数平均数。(2)COUNT:计算记录条数。(3)FIRST与LAST:返回某字段的第一条数据与最后一条数据。(4)MAX与MIN:返回某字段最大值与最小值。(5)SUM:返回某特定字段或是运算的总和数值。2.SQL查询的嵌套  嵌套的SQL查询含义在于:在一个SQL语句中可以包含另一个SQL查询语句,形成内部嵌套的查询类型,SELECT语句构成的多层SQL查询,必须用()将该语句括起来。3.SQL与数据库的维护(1)表的建立CREATETABLE语句:我们可以利用这个命令,来建立一个全新的表,但前提则是数据库必须已经存在。(2)表索引的建立CREATEINDEX语句:这个命令主要是对一个已经存在的表建立索引。(3)表的删除DELETE语句:我们可以利用DELETE语句,将表中的记录删除。(4)SELECT…INTO语句:可以通过这个命令,利用已经存在的表查询,来建立一个新表。(5)INNERJOIN操作数:当某一个共同的字段数据相等时,将两个表的记录加以组合。(6)UNION操作数:可以通过UNION操作数来建立连接的查询条件,UNION操作数可以将两个以上的表或是查询的结果组合起来。(7)ALTER语句:在一个表建立后,利用ALTER语句,可以去修改表的字段设计。(8)DROP语句:针对所指定的表或字段加以删除,或是把索引删除。(9)INSERTINTO语句:新建一条数据到表当中。(10)UPDATE语句:建立一个UPDATE的查询,通过条件的限制来修改特定的数据。10.3数据库应用程序的结构与设计  数据库应用程序的功能是:使用数据访问组件,通过数据引擎(提供数据库驱动程序),建立与数据源(数据库)的连接,并使用数据控制组件来创建用户界面,以便用户存取和操纵数据库中的数据。10.3.1应用程序的结构 在数据应用程序中,通常包含3种数据库组件1.数据集组件  访问数据库,通常需要数据源,用DataSource组件描述数据源。但该组件不能直接表示数据,而是引用数据库表、查询结果或存储过程。在窗体中还需要使用Table、Query或StoredProc组件,它们直接与数据库连接,从中获取数据。常称之为数据集组件,它们通过BDE为应用程序提供与数据库的连接。当要创建一个数据库应用程序时,先在窗体上放一个数据集组件,然后为数据集组件设置有关的属性,指定要访问的数据库、数据表以及表中的记录等。2.数据控制组件  数据控制组件为用户提供一个可对数据库中数据进行浏览、编辑和输入等数据操作的可视化界面,由于数据集组件是不可见的,所以,还必须使用可见的数据控制组件来提供数据库的显示,它们通过数据访问组件DataSource相互连接,数据控制组件也称为数据感知(Data-aware)组件。3.数据访问组件  数据访问组件DataSource负责双方数据的收发。使用户交互式地对数据库进行查询、修改、插入和删除等操作。在同一个窗体上 几个数据控制组件可以连接到同一个DataSource组件,这几个数据控制组件可以保持同步,因为数据控制组件总是显示当前数据记录的数据。DataSource组件最好放在数据模块上,与用户界面分开。 DataSource组件几种重要属性的意义如下:(1)DataSet属性:指定相连的数据集组件。(2)State属性:表示连接的底层数据集状态。(3)AutoEdit属性:确定连接的数据集组件是否自动处于编辑状态。10.4基于BDE与ODBC的数据库连接10.4.1BDE简介  Delphi的Borland数据引擎(BDE)可直接访问某些本地数据库,包括dBASE,Paradox,FoxPro,MicrosoftAccess,Delphi安装程序自动为这些数据库安装了驱动程序,并建立了相应的配置。如果将BDE与Borland的SQLLink驱动程序连接,可以访问Oracle,Sybase,Informix,InterBase和IBMDB2数据库。  如果要连接的是BDE所不支持的数据库,则可利用BDE所提供的ODBC管道,通过ODBC来访问它们。10.4.2配置BDE数据源1.BDE管理器 BDE管理器使管理Windows注册表中的BDE系统配置信息和BDE配置文件(IDAPI.cfg)中的别名信息的可视化工具。选择菜单项【开始】|【程序】|【BorlandDelphi7】|【BDEAdministrator】,即打开BDE管理器  BDE管理器的Configuration页用于显示和配置相关数据库的驱动程序,这些驱动程序可分为两类:Native驱动和ODBC驱动。在Configuration窗格的驱动程序列表中选择一个驱动程序,它的设置参数便会显示在Definition窗格中,以便查看和修改。2.数据库别名  在实际应用中,计算机尤其是文件服务器会经常更换。相应地,各种数据库操作也要转移到新数据库服务器上进行,因而需要对数据库重新定位。BDE通过数据库别名(数据源)解决这个问题。在数据库应用程序中,当数据从一个地方转移到另一个地方时,只要修改别名重新定位数据库位置即可,源程序不必修改。3.配置数据库驱动程序  在BDE管理器Configuration页中,左窗格(Configuration)显示驱动程序列表,其中 Native驱动和ODBC驱动分列为两项,右窗格(Difinition)显示当前驱动程序的配置。Native驱动和ODBC驱动配置方法略不同。(1)Native列表中列出了已有的Native驱动程序名称,可以对其中的驱动程序进行配置。不同驱动程序的可配置项目有所有同。(2)ODBC列表中列出了已有的ODBC驱动程序名称,可以添加新的ODBC驱动程序。当然也可以对其中的驱动程序进行配置。 配置好了驱动程序之后,要选择菜单项【Object】|【Apply】,将配置保存起来。然后切换到Databases页,即可使用配置好的驱动程序来建立数据源。4.建立BDE数据源(1)右击Databases页,选择快捷菜单New项。(2)在DatabseDriverName下拉列表中选择一种数据库驱动程序,单击OK按钮,生成一个数据源。如果选择的是STANDARD,则自动生成名为Standard1的数据源,并显示在Databases页的树形数据库别名表中。(3)根据需要修改数据源的名称,配置右侧Definition页中的参数值。(4)右击刚创建的数据库别名,选择快捷菜单Apply项,按提示保存数据库别名配置。10.4.3建立ODBC数据源  以Access数据库为例说明创建ODBC数据源的方法。1.打开ODBC数据源管理器在BDE管理器窗口中,选择Object菜单的ODBCAdministrator项,或使用Windows控制面板中的ODBC对象,打开ODBC数据源管理器窗口。  为了便于访问数据,Windows系统提供了ODBC数据源管理工具,该工具用来设置数据源的名字DSN(DataSourceName)。DSN是一个数据源的标志,目的是便于应用程序访问数据,即只要某个数据设置了相应的DSN,应用程序就不必理会该数据库存储的位置和驱动程序,可以按DSN直接访问数据库。DSN有三种类型:(1)用户DSN:只对设置它的用户可见,而且只能在设置了该DSN的机器上使用。(2)系统DSN:对机器上的所有用户都是可见的,包括NT服务。(3)文件DSN:将DSN的配置信息存在一个文件里,这样的文件就叫文件DSN。2.选择【用户DSN】选项卡,单击【添加】按钮,打开创建数据源对话框。选择MicrosoftAccessDriver(*.mdb),并单击【完成】按钮。3.在弹出的对话框中设置数据源名为Huoyun,通过【选择】按钮选择数据库,或通过【创建】按钮创建新数据库,还可以修复和压缩数据库,还可通过“高级”按钮设置登录名称和密码。点【选择】按钮,选择一个已经存在的Access数据库D:\MyDocuments\HY.mdbs数据库。4.输入数据源的名称“huoyun”,说明部分输入一些对所创建的数据源进行描述的文字,也可不输入,设置之后,单击【确定】按钮保存设置这样就配置好了DSN,关闭ODBC数据源管理器。  关闭所有使用BDE的应用程序,打开BDE管理器窗口,切换到DataBase页,即可看到新建的ODBC数据源“huoyun”。10.4.4 使用数据库浏览器  DatabaseExplorer的功能是定义数据库,装载数据库,管理数据库,还可以直接执行SQL语句。1.打开数据库浏览器窗口  选择菜单项【开始】|【程序】|【BorlandDelphi7】|【SQLExplorer】,或在Delphi集成开发环境的主窗口中选择菜单项【Database】|【Explore】,都可以打开SQLExplore窗口  在SQLExplorer窗口的Databases页,左(Databases)窗格显示所有的数据库别名列表,右(Definition)窗格显示当前数据库别名的配置。本例中,需要给数据库浏览器指定要操作MicrosoftAccess示例数据库HY.mdb。方法如下:(1)在左窗格选定已建立的数据库别名HYDB。(2)在右窗格修改HYDB的配置,利用DATABASENAME格的按钮,将该属性设置为d:\MyDocments\HY.mdbB。(3)在右窗格修改ODBCDSN的配置,选择下拉框Huoyun选项。(4)选择Object菜单Apply项,保存所做设置。2.打开数据集 在数据库浏览器中打开数据集步骤如下:(1)在SQLExplorer窗口Databases页左窗格中,选定数据库别名HYDB。(2)选择Object菜单的Open项,弹出数据库连接(DatabaseLogin)对话框。单击OK按钮,即可打开HY.mdb数据库。(3)单击HYDB项左侧的 号,展开它,则HY.mdb数据库中的数据库表对象、查询对象都会显示出来。(4)选定“报价”表,并在右侧切换到Data窗格,“报价”表内容在Data窗格显示出来。3.操纵数据库(1)浏览数据。●选定整个记录:数据表最左边有一列用于选定记录的按钮,单击某个即选定它所在的记录;可利用垂直滚动条配合操作。另外,工具栏右半部是与DBNavigator控件相仿的如下图所示查找工具栏,可用于移动记录指针或进行插入、删除等操作。●选定整个字段:单击字段名即可选定一个字段,可利用水平滚动条配合操作。●选定指定记录的指定字段:数据集中的数据是以网格形式显示的,单击某个网格,即可选定它。可利用垂直滚动条和水平滚动条配合操作。●浏览备注型字段(以Memo标记):备注型字段内容是一些长度差别较大的字符串。单击某个记录中备注型字段的网格时,会弹出一个窗口,显示它的内容(文字或空白)。●浏览图片字段(以Graphics标记):单击图片字段所在的网格,就会弹出一个窗口,显示该字段的内容(图片或空白)。(2)利用数据库浏览器也可对数据集进行编辑、插入、删除、复制和移动等操作。●编辑操作:选定要编辑记录,单击EditRecord()按钮切换到编辑状态,然后修改各字段的值。编辑结束后,单击CancelEdit()按钮或选定其他记录退出编辑状态。●插入操作:选定一个记录,单击InsertRecord()按钮,则所选记录之前插入一个空记录(带有*符号)。输入一个记录的内容之后,单击PostEdit再插入一个记录,或单击CancelEdit退出插入状态。●删除记录:选定要删除的记录,单击DeleteRecord()按钮,则弹出一个消息框提问是否真要删除。单击OK按钮即可删除记录,单击Cancel按钮不删除记录。4.使用SQL语句执行查询使用SQL查询数据库的步骤如下:(1)在左窗格中选择一个数据库对象(表、查询等)。(2)在右窗格中,切换到EnterSQL页,在编辑框中输入一个SQL语句。(3)单击executequery按钮,执行SQL语句。10.5数据库操纵  对数据库的存取和控制称为数据库操纵,包括数据的查询、读取、插入、删除和更新等各种操作。既可利用Delphi本身的功能进行数据库操纵,也可使用通用数据库的结构化查询语言(SQL)来进行。10.5.1 字段的操作  Delphi用字段对象(TField组件)来表示数据集中的字段。字段对象附属于数据集组件,在程序设计和运行过程中都是不可见的。每当数据集组件从数据库中获得数据时,就将其(当前记录)放入字段对象中。利用字段对象可取得当前字段的值,设置它的值,而且能够通过修改字段对象的属性来改变数据集。字段对象的创建有两种方式:(1)在应用程序打开数据集时自动创建。将数据集组件的Active属性设为True,或执行它们的Open方法,即可创建字段对象。这种方式 称为动态创建。这样创建的字段对象在单元文件中没有声明语句。当数据集关闭,即当数据集组件的Active属性设为False或执行它们的Close方法时,便会自动撤消。(2)通过字段编辑器创建字段对象。这种方式创建的字段对象称为静态字段对象,在关闭数据集时不会撤消。1.字段的数据类型 一个字段对象用来表示数据集中一列的特征,也用于表示字段的显示特征,另外,当在数据集的记录之间滚动时,字段对象将更新当前字段的值,并显示给用户查看。  数据集中的字段有多种数据类型,每种数据类型都有一个独立的TField类型与之对应。常用的TField类型有:TBooleanField(布尔型)、TCurrencyField(货币型)、TStringField(字符串型)、TIntegerField(整数)、TFloatField(浮点型)和TBLOB(二进制对象)。使用最多的是TStringField和TIntegerField类型的字段对象。2.字段对象的访问(1)数据集组件有一个默认的数组属性FieldValues,这个数组以Variant类型返回字段的值,利用它可以存取字段值,利用它可以存取字段值。(2)利用数据集组件的数组属性Fields也可以存取字段的值。Fields属性的每个元素都代表一个字段,这样就可以按序号(从0开始)来访问字段的值。(3)利用数据集组件的FieldByName方法,通过列名也可访问字段对象。FieldByName方法以数据集的字段名作为参数(用引号)。(4)编辑当前记录中一个字段的操作步骤如下:●调用数据集组件的Edit方法,使数据集处于编辑状态。●给当前字段赋新值。●调用Post方法将数据的变化提交给数据集。(5)在数据集中插入或删除记录时需以下操作。●调insert或append方法,使数据集处于相应模式。●对数据集中的字段赋值。●调用方法将数据的变化提交给数据。3.创建静态字段 创建静态对象要用到字段编辑器。(1)双击Table组件,打开字段编辑器。(2)右击字段编辑器,选择ADDFields项,弹出添加字段对话框。(3)在添加字段对话框中选定要创建静态字段对象的字段,单击OK按钮,将选定的字段添加到字段编辑器中。4.访问静态字段  选择要设置属性的字段,在对象观察器中修改字段对象的属性。1.Alignment:设置字段在数据控制组件中的对齐方式,左对齐、右对齐和居中。2.DisplayLabel:说明字段对象咱DBGrid组件中的显示的标题,默认为字段对象名称。3.DisplayWidth:字段对象在DBGrid组件中显示的列的宽度。4.FileName:字段对象对应的字段名称。5.Index:字段对象在DataSet组件中的索引号,从0开始。6.Name:字段对象名。7.ReadOnly:相应字段是否能修改。8.Visible:相应字段是否在DBGrid中显示。9.EditMask:设置掩码编辑格式。10.MaxValue和MinValue:设置字段最大最小值,超范围时产生EdatabaseError异常。  静态字段对象的访问相对于动态字段对象来要简单得多,在程序中可以直接通过字段对象的名称(即Name属性)来访问。10.5.2使用Tabel组件的记录查找  在数据集中检索记录中有几种方式:一是使用Locate函数或Lookup函数进行检索;二是使用GotoKey方法或FindKey方法,基于索引关键字进行检索;三是使用GotoNearest方法或FindNearrest方法,执行非精确匹配检索。1.使用Locate方法的通用查找  Table组件的Locate方法和Lookup方法可以在任何数据表中按任何类型的字段来搜索记录,数据表不必建立索引。  Locate方法用来在数据表中搜索一条符件条件的记录,如果找到的话,该记录即可成为当前记录。在使用Locate方法执行查询之前,先要调用SetKey方法,将连接表的Table组件设置成查询状态。2.使用GotoKey方法的索引查找 able组件的GotoKey方法可以基于索引中的字段搜索匹配的记录,并使找到的记录成为当前记录。使用GotoKey方法查找步骤如下(1)确保待查字段是关键字段(索引中的字段)或已经为它定义了辅助索引。(2)调用SetKey方法,将连接表的Table组件设置成为查询状态。(3)为每个待查字段设置目标值。(4)调用GotoKey方法实现查询,并测试它的返回值判断查询是否成功。3.使用FindKey方法的索引查找 将设置查找状态、设置查找值,以及执行查找集中在一个方法调用中实现。FindKey方法接受的参数是放在方括号中的,是用逗号分开的查找值数组。数组中的每个值都对应于特定字段的查找值,即参数中允许有多个查找值,FindKey允许用户同时查找数据集中的多个字段。4.使用GotoNearest和FindNearest方法的近似查找  不要求查找结果与查找值精确匹配。如果找到与指定值匹配的记录,则将记录指针到该记录处,否则,将会出与指定值最接近的记录并将记录指针指向它。10.5.3使用Query组件的SQL查询1.连接数据库表  使用Query组件构造数据库应用程序需要一个DataSource组件来和数据控制组件相连,而且也要通过DataBaseName属性指定数据库名称或目录路径。Query组件和Table组件的不同之处在于,它没有TableName属性,而是用SQL属性编写语句和某个数据集相连并相连并选择要显示的域。2.SQL命令文本的编写(1)使用字符串列表编辑器编写  利用Query组件的SQL属性打开字符串列表编辑器,键入SQL语句之后,单击OK按钮可将编辑器中的SQL命令文本装入SQL属性中。也可右击编辑器,选择Save项,将编好的SQL命令保存到一个文件中供使用。  打开字符串列表编辑器之后,还可右击编辑器,选择快捷菜单的Load项,从一个SQL命令文件中调入SQL命令。(2)使用SQL构造器(SQLBuilder)可用于编写Select语句。 右击Query组件,选择快捷菜单的SQLBuilder项,弹出SQLBuilder对话框。  SQL构造器的上半部用于选择数据、数据表,以及表中的字段等;下半部用于选择性地构造查询条件。在SQL构造器中组织好一个查询并退出构造器时,其中的SQL命令会自动写入相应SQLBuilder组件的SQL属性。3.静态查询  SQL语句有两种:静态SQL语句和动态SQL语句。静态SQL语句在程序设计阶段就已经固定了。而动态SQL语句则在语句中加入一些参数,在程序运行过程中,可以改变参数的值,即可以动态地给SQL语句中的参数赋值。4.动态查询  对于较复杂的查询,一般采用动态查询,即在程序运行期可以改变查询条件的查询。  动态SQL语句就是参数化的语句,即在SQL语句中包含着表示字段名或表名的参数  动态SQL语句的编写方式可通过参数编辑器赋值。  方法是:在对象观察器中,找到Query组件的Parames属性,打开参数编辑器。在其中的参数列表中选择一个参数,对象观察器便会显示参数属性。其中,DataType属性表示参数数据类型,ParamType属性表示参数使用类型,Value属性具有参数的值(Value)和类型(Type)两个子属性。  设置了参数之后,关闭参数编辑器,打开Query组件所连接的数据库,则在与Query组件相连接的数据控制组件中会显示查询结果  还可在应用程序运行过程中为参数赋值,这是使用可变参数的主要方法,这种赋值方法分为以下3种情况:(1)使用Parems属性按序号访问参数 Query组件的Params属性在设计时不可有,在程序运行过程中可用而且是动态建立的。在为Query组件编写动态SQL语句时,Delphi自动建立一个数组Params,数组从0下标开始,依次对应SQL语句中的参数,即命令中第一个参数对应Params[0],第二个参数对应Params[1],依此类推。(2)使用ParemByName函数按名称访问参数 ParemByName是一个函数,用动态SQL语句中的参数作为调用ParemByName函数的参数,这样便可为其赋值。(3)使用DataSource属性从另一个数据集获得参数 使用上述两种方法的前提是用户预先知道具体的参数值,而在有些程序中,参数值是无法确定的。这就需要设置Query组件的DataSource属性值,其值为另一个DataSource组件的名字。10.6基于ADO的数据库应用程序10.6.1ADO组件  ADO组件(Delphi中称为dbGo组件)位于Delphi组件面板上的ADO页如图所示,这些组件可用于连接ADO数据存储、执行命令、检索基于ADO机制的数据库表中的数据。多数ADO组件都能在按其功能在BDE组件面板中找到相应的组件。图10-24ADO组件页1.ADOConnection  ADOConnection组件位于ADO组件板的第一个组件,该组件用于与数据库建立连接。TADOConnection组件中还有两个属性:CommandTimeout和ConnectionTimeout。这两个属性主要用于连接远程数据库时相关参数的设定。  ADOConnection组件和BDE组件板中的Database组件功能相似。2.ADOCommand  ADOCommand组件位于ADO组件板的第二个组件,该组件有CommandType与CommandText两个重要属性。3.ADODataSet  ADODataSet组件位于ADO组件板的第三个组件,通过ADODataset组件,可以直接与一个表进行连接,也可以执行SQL语句,还可以执行存储过程。在使用时,首先设定其Connection属性为ADOConnection组件,没有ADOConnection组件就直接设定ConnectionString属性。接着有两个重要属性CommandType与CommandText需要设定。4.ADOQuery  ADOQuery组件位于ADO组件板的第四个组件,提供数据库连接接口一致化。5.ADOTable  ADOTable组件位于ADO组件板的第五个组件,如果程序中使用ADOConnection连接组件,直接设定该组件的Connection属性为ADOConnection组件即可。另外一个重要属性就是Active属性,该属性用来设置打开或关闭与该组件相连数据表。其值若为True,则打开数据表;若为False,则关闭数据表。 ADOTable组件与BDE中的Table组件对应。6.ADOStoredProc  ADOStoredProc组件位于ADO组件板的第六个组件,用于完成数据存储过程。  ADOStoredProc组件与BDE中的组件StoredProc对应。10.6.2通过ADO连接数据库1.构造连接字符串(1)在对象观察中选择数据集组件的ConnectionString属性,单击属性项右侧的符号按钮,打开连接字符串对话框。(2)连接字符串对话框中有两个单选项,提供了两种不同的连接方式。●使用数据链接文件:数据链接文件是一个扩展名为.UDL的文件,其中存放了一个连接字符,用户可以预先建立数据链接文件,以便连接字符串能够重复利用。●使用连接字符串:选择了该项就需要自己创建一个连接字符串。可以在相应的文本框中键入一个连接字符串,但一般来说,还要进行数据引擎的选择,所以,应单击Build按钮,打开数据链接属性对话框。(3)选择数据库引擎。在对话框的Provider页,选择要连接的OLEDB提供者。(4)选择了数据提供者之后,可以单击Next按钮或单击Connection页标签,切换到Connection页,该页会按前面选择的数据提供者的不同而显示不同的设置项。2.连接本地数据库10.7人力资源管理系统开发10.7.1需求分析  人事管理系统就是要实现对某单位的职工进行管理,整个系统包括人事资料录入、资料查询、资料删除等功能。经分析后,本系统具有以下3个功能模块:1.系统功能(1)用户管理模块。该模块主要是实现操作用户的增加、删除和修改。(2)密码修改模块。该模块主要实现各操作用户修改自己的操作密码,系统管理用户可以修改其他用户的密码。(3)系统初始化模块。主要用来实现初始化功能。(4)退出模块。就是退出系统。2.人事管理 主要实现人事信息的增加、修改和删除等功能。3.人事查询 实现按各种条件进行查询,并且实现打印查询结果。10.7.2数据库分析  为了人事管理系统正常运行,需要创建两个数据表:一个是操作用户数据表Operator表;另一个是人事信息数据表Info表。10.7.3数据库与数据源创建1.BDE方式(1)选择【开始】|【程序】|【BorlandDelphi7】|【BDEAdministrator】,即可打开BDE管理器。(2)单击BDE管理界面的下拉菜单中【Object】|【New】选项,开始创建一个新的BDE数据别名,首先要选择数据库驱动程序名,因为选择采用Paradox数据库格式,所以选择STANDARD驱动。(3)单击【OK】按钮,就增加了一个默认名为STANDARD1的设置项。(4)修改Paradox驱动设置。单击【Configuration】页进行数据库驱动设置,单击【Native】|【Paradox】,出现Paradox数据表驱动的配置项,修改【LangDriver】中的值。(5)已经设置好了数据库别名,要使该别名立即生效,单击【Object】项中的Apply,这样别名就设置完毕。(6)接下来要创建Operator数据表,选择【开始】|【程序】|【BorlandDelphi7】|【DatabaseDesktop】,即可打开数据表管理窗口。(7)单击【File】|【New】|【Table】选项,出现数据表选择对话框,选择Paradox7。(8)单击【OK】按钮,就进入了创建数据表的对话框。输入字段信息。(9)单击【SaveAs】按钮,将保存已创建的数据表结构,这时提示输入数据表名。可以通过Alias选择已定义的别名,并且在文件名栏中输入要命名的文件名。(10)单击【保存】按钮即可,可以通过点击DatabaseDesktop数据库管理器中【File】|【open】|【Table】可以浏览刚创建的空的数据表。2.ODBC方式(1)选择【开始】|【程序】|【Microsoftoffice2003】|【MicrosoftofficeAccess2003】,即可打开Access数据库管理系统。(2)选择【空数据库】,然后创建一个数据库,出现一个窗口。(3)双击【使用设计器创建表】创建Operator表。(4)选择【文件】|【保存】。(5)在表名称中输入Operator单击【确定】,即在数据库RLMIS中创建好了Operator表。10.7.4系统代码实现1.程序主窗体设计(1)界面设计  创建一个新的工程文件,在窗体中添加一个MainMenu组件,一个ToolBar组件,在ToolBar组件中添加六个ToolButton组件,一个Imagelist组件,双击Imagelist组件添加六个图片。(2)属性设置(3)程序设计2.操作员管理设计(1)界面设计  在操作员界面添加一个ToolBar组件,两个SpeedButton组件,3个GroupBox组件,在GroupBox1组件中添加4个Label组件和4个Edit组件,在GroupBox2组件中添加3个CheckBox组件,在GroupBox3中添加3个RadioButton组件。(2)程序设计3.修改密码设计(1)界面设计  在窗体中加入3个Label组件和3个Edit组件,一个ToolBar组件,在ToolBar组件上添加两个SpeedButton组件。(2)程序设计4.系统初始化设计5.人事信息设计谢谢大家!
本文档为【Delphi教程—Delphi数据库编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
都绘匠人
国家注册城乡规划师,资深工程师,具备城乡规划领域多年从业经历
格式:ppt
大小:429KB
软件:PowerPoint
页数:68
分类:理学
上传时间:2022-04-22
浏览量:0