第5章数据库应用设计_第1页
第5章数据库应用设计_第2页
第5章数据库应用设计_第3页
第5章数据库应用设计_第4页
第5章数据库应用设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Delphi 程序设计程序设计叶核亚叶核亚人民邮电出版社人民邮电出版社 Delphi 程序设计程序设计v第1章 Delphi 2005简介v第2章 Object Pascal语言基础v第3章 Windows应用程序界面设计v第4章 菜单、工具栏和对话框v第5章 使用复杂组件v第6章 面向对象的核心特性v第7章 多文档界面设计v第8章 程序调试与异常处理v第9章 文件操作和流v第10章 多媒体应用设计v第11章 数据库应用设计v第12章 综合应用设计 Delphi 程序设计第第11章章 数据库应用设计数据库应用设计1.11.1 关系数据库系统概述关系数据库系统概述2.11.2 Delphi数据

2、库应用程序基础数据库应用程序基础3.11.3 操纵表中字段操纵表中字段4.11.4 Query和和Database组件组件5.11.5 使用使用ADO组件连接数据库组件连接数据库 Delphi 程序设计11.1 关系数据库系统概述关系数据库系统概述1.11.1.1 数据库系统数据库系统2.11.1.2 关系模型关系模型3.11.1.3 结构化查询语言结构化查询语言SQL4.11.1.4 数据库体系结构简介数据库体系结构简介 Delphi 程序设计11.1.1 数据库系统数据库系统1.数据库(数据库(DataBase,DB)是长期存储)是长期存储在计算机外存上的、有结构的、可共享在计算机外存上的

3、、有结构的、可共享的数据集合。的数据集合。 2.数据库管理系统(数据库管理系统(DBMS)是指数据库系)是指数据库系统中对数据库进行管理的软件系统。统中对数据库进行管理的软件系统。 3.数据库系统(数据库系统(DataBase System,DBS)是由数据库、数据库管理系统、应用程是由数据库、数据库管理系统、应用程序、数据库管理员、用户等构成的人序、数据库管理员、用户等构成的人机机系统。系统。 Delphi 程序设计11.1.2 关系模型关系模型1.关系模型的数据结构关系模型的数据结构关系关系主关键字主关键字关系的性质关系的性质关系模式关系模式学生(学号,姓名,性别,省份,地区,出生年月,民

4、族,团员)课程(课程号,课程名,学分)学生成绩(学号,课程号,成绩) 外关键字外关键字2.关系模型的数据操作与完整性约束关系模型的数据操作与完整性约束 Delphi 程序设计11.1.3 结构化查询语言结构化查询语言SQL1.SQL语言概述语言概述SQL功能动 词说 明数据定义CREATE、DROP、ALTER创建表、删除表、修改表数据操纵INSERT、UPDATE、DELETE插入、更新、删除数据查询SELECT查询数据控制GRANT、REVOKE授予权限、收回权限表11.2 SQL语言的动词 Delphi 程序设计2. 数据查询数据查询1.SELECT语句语法语句语法SELECT ALL

5、| DISTINCT 列表达式列表达式 ,列表达式,列表达式 FROM 表表 WHERE 条件表达式条件表达式 GROUP BY 列列 HAVING 条件表达式条件表达式 ORDER BY 列列 ASC|DESC;2.运算符运算符=、= 、AND、OR 、LIKE 3.集函数集函数AVG( ALL | DISTINCT 列名列名) COUNT(*)、COUNT(列名列名)SUM(列名列名) 、MAX(列名列名)、MIN(列名列名) Delphi 程序设计11.1.4 数据库体系结构简介数据库体系结构简介1.单机数据库单机数据库AccessParadox 2.客户客户-服务器模式的关系数据库系统

6、服务器模式的关系数据库系统客户客户-服务器概念服务器概念基于客户基于客户-服务器模式的关系数据库系统描述服务器模式的关系数据库系统描述 Delphi 程序设计图图11.1 客户客户-服务器模式的关服务器模式的关系数据库系统描述系数据库系统描述 窗口窗口服务器端数据库开发工具客户端数据库应用程序数据库系统数据库管理系统(DBMS)表用户数据库管理员(DBA)接口软件设计人员 Delphi 程序设计11.2 Delphi数据库应用程序数据库应用程序基础基础1.11.2.1 与数据库的连接方式与数据库的连接方式2.11.2.2 数据库操作组件概述数据库操作组件概述3.11.2.3 数据集组件数据集组

7、件Table4.11.2.4 数据源组件数据源组件DataSource5.11.2.5 数据控制组件数据控制组件DBGrid和和DBNavigator Delphi 程序设计11.2.1 与数据与数据库的连接方式库的连接方式BDE / ADODelphi数据库应用程序本地数据库ODBC本地/远程数据库Paradox、Access等Access、Sybase、DB2、SQL Server等 Delphi 程序设计11.2.2 数据库操作组件概述数据库操作组件概述1.数据集组件数据集组件基于基于BDE的数据集组件的数据集组件基于基于ADO的数据集组件的数据集组件2.数据源组件数据源组件3.数据控制

8、组件数据控制组件【例【例11.1】 使用使用Delphi数据库向导,创建网格数据库向导,创建网格显示的数据库应用程序。显示的数据库应用程序。 Delphi 程序设计图图11.4 组件关系与功能图组件关系与功能图 Paradox数据库表country.dbTable数据集组件DataSource数据源组件连接数据库中的表获得数据源DBGrid数据显示组件DBNavigator数据控制组件控制数据显示数据 Delphi 程序设计11.2.3 数据集组件数据集组件Table1.Table组件的主要属性组件的主要属性DatabaseName指明要访问的数据库指明要访问的数据库名或本地数据库的路径名或本

9、地数据库的路径TableName指定和组件相连的数据库中指定和组件相连的数据库中表名表名Active打开或关闭数据集打开或关闭数据集 Delphi 程序设计2. Table组件的主要方法组件的主要方法1.打开打开/关闭数据集关闭数据集procedure Open();procedure Close();2.改变数据集的当前记录改变数据集的当前记录procedure First(); procedure Prior();procedure Next();procedure Last();function MoveBy(Distance: integer): integer;3.定位一条指定记录定

10、位一条指定记录function Locate(const KeyFields:string;const KeyValues:Variant; Option:TLocateOption):boolean;4.搜索多条特定记录搜索多条特定记录function Lookup(const KeyFields:string;const KeyValues:Variant; const ResultFields:string):Variant; Delphi 程序设计属性属性功能功能BOF当记录指针位于数据集开头时,属性值为当记录指针位于数据集开头时,属性值为True,否则为,否则为FalseEOF当记录

11、指针位于数据集结尾时,属性值为当记录指针位于数据集结尾时,属性值为True,否则为,否则为False Delphi 程序设计3. Table组件的主要事件组件的主要事件Table组件可以响应的事件大致分为三类:组件可以响应的事件大致分为三类: Before+操作名,操作名,After+操作名和操作名和On+操作名操作名BeforeOpen,AfterOpen发生在数据集打开前后发生在数据集打开前后BeforeClose,AfterClose发生在数据集关闭前后发生在数据集关闭前后BeforeInsert,AfterInsert发生在插入一条新的记录前后发生在插入一条新的记录前后BeforeEd

12、it,AfterEdit发生在进入发生在进入dsEdit状态前后状态前后BeforePost,AfterPost发生在写数据集的前后发生在写数据集的前后BeforeCancel,AfterCancel发生在取消修改的前后发生在取消修改的前后BeforeDelete,AfterDelete发生在删除记录的前后发生在删除记录的前后OnNewRecord发生在创建新记录时,用于设置缺省值发生在创建新记录时,用于设置缺省值OnCalcFields发生在计算字段进行计算时发生在计算字段进行计算时【例【例11.2】 定位与搜索数据集。定位与搜索数据集。 Delphi 程序设计11.2.4 数据源组件数据源

13、组件DataSource1.DataSource组件的主要属性组件的主要属性DataSet指定为其提供数据的数据集组件,指定为其提供数据的数据集组件,如如Table、Query2.DataSource组件的主要方法组件的主要方法3.DataSource组件的主要事件组件的主要事件OnDataChange当修改字段内容或记录当修改字段内容或记录指针移动时触发。指针移动时触发。OnUpdateData当关系表中当前的记录被更当关系表中当前的记录被更新时触发新时触发 Delphi 程序设计11.2.5 数据控制组件数据控制组件DBGrid和和DBNavigator1.数据控制组件的共同属性数据控制组

14、件的共同属性DataSource指定连接的数据源组件指定连接的数据源组件Enabled组件是否有效。组件是否有效。ReadOnly指定是否可编辑。指定是否可编辑。2.DBGrid组件组件Columns设置需要显示的字段及其属性设置需要显示的字段及其属性3.DBNavigator组件组件 Delphi 程序设计11.3 操纵表中字段操纵表中字段1.11.3.1 字段对象字段对象2.11.3.2 操纵字段的数据控制组件操纵字段的数据控制组件 Delphi 程序设计11.3.1 字段对象字段对象1.创建永久的字段对象创建永久的字段对象2.字段对象属性和事件字段对象属性和事件3.引用字段对象引用字段对

15、象通过字段对象名引用永久的字段对象通过字段对象名引用永久的字段对象nTable1Capital.DisplayLabel:= 首都;通过通过Fields属性的数组元素引用字段对象属性的数组元素引用字段对象nTable1.Fields0.DisplayLabel:= 国家;通过表中的字段名引用字段对象通过表中的字段名引用字段对象nTable1.FieldByName(Capital).DisplayLabel:= 首都;4.自定义字段对象自定义字段对象创建字段对象创建字段对象为为DBGrid添加字段对象添加字段对象 Delphi 程序设计【例【例11.3】 创建计算字段对象。创建计算字段对象。1

16、.创建字段对象创建字段对象Calculate 2.初始化初始化 3.定义计算公式定义计算公式 Delphi 程序设计11.3.2 操纵字段的数据控制组操纵字段的数据控制组件件1.DBText 字段标签字段标签2.DBEdit 字段编辑框字段编辑框3.DBMemo 字段多行字段多行文本编辑框文本编辑框4.DBImage 字段图像字段图像组件组件5.DBListBox 字段列字段列表框表框6.DBComboBox 字段字段组合框组合框7.DBCheckBox 字段字段复选框复选框vDBRadioGroup 字段单选按字段单选按钮组钮组vDBLookUpListBox 字段查字段查询列表框询列表框v

17、DBLookUpComboBox 字段字段查询组合框查询组合框vDBRichEdit 字段多行字段多行RTF文文本编辑框本编辑框vDBCtrlGrid 字段显示网格字段显示网格vDBChart 字段图表字段图表【例【例11.4】 使用使用Delphi数据库向数据库向导,创建按字段显示的数据导,创建按字段显示的数据库应用程序。库应用程序。 Delphi 程序设计11.4 Query和和Database组件组件1.11.4.1 使用使用Query组件执行组件执行SQL语句语句2.11.4.2 使用使用Database组件连接数据组件连接数据库库 Delphi 程序设计1.Query组件组件SQL语

18、句写在语句写在Query组件的组件的SQL属性中属性中属性属性:DatabaseName,SQL,Params方法方法:Open,Close, ExecSQL, ParamByName Delphi 程序设计11.4.1 使用使用Query组件执行组件执行SQL语句语句【例【例11.5】 按指定字段查询。按指定字段查询。 关键语句关键语句:sqlwhere:= where Capital = +Edit1.Text+;/注意空格和单引号注意空格和单引号Query1.SQL.Clear; /清除原先的清除原先的SQL语句语句Query1.SQL.Add(sqlstr+sqlwhere); /添加添加SQL语句语句Query1.Open; /打开表,执行打开表,执行SQL语句语句 Delphi 程序设计n动态动态SQL与参数使用与参数使用SQL中的条件查询中的条件查询Query的的Params属性属性通过通过Params属性数组为参数赋值属性数组为参数赋值调用调用ParamByName函数为参数赋值函数为参数赋值连接查询,使用连接查询,使用DataSource属性为参数属性为参数赋值赋值 Delphi 程序设计【例【例11.6】 按任意字段查询。按任意字段查询。1.图形界面设计图形界面设计 Query1.SQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论