第11章数据库程序开发_第1页
第11章数据库程序开发_第2页
第11章数据库程序开发_第3页
第11章数据库程序开发_第4页
第11章数据库程序开发_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、c# c# c# 程序设计大学教程程序设计大学教程 数据库程序开发数据库程序开发 c# c# c# 2 数据库程序开发数据库程序开发 ado.net组件的典型特点是: 具有断开式数据结构。具有断开式数据结构。 能够与能够与xmlxml紧密集成。紧密集成。 具有能够组合来自多个不同数据源的数据的具有能够组合来自多个不同数据源的数据的 通用数据表示形式。通用数据表示形式。 具有为与数据库交互而优化的功能。具有为与数据库交互而优化的功能。 ado.net组件是数据库编程的基础,掌握 ado.net就等于掌握了数据库编程的核心。 c# c# c# 3 11.1 数据库和数据库系统数据库和数据库系统 数

2、据库提供了一种把相关信息集合在一起的 方法,它是一个数据的有机集合,它可以使我们 在某个集中的地方存储和维护这些信息。 数据库系统则主要由数据库、数据库管理系 统和数据库应用程序三大部分组成。 c# c# c# 4 11.1 数据库和数据库系统数据库和数据库系统 数据库数据库: :按一定结构组织在一起的相关数据的集合 数据库管理系统(数据库管理系统(dbmsdbms): :它是专门负责组织和管 理数据信息的软件 数据库应用程序数据库应用程序: :它使我们能够获取、显示和更新 由dbms存储的数据 数据库的核心是数据,其具体的组织形式与 数据库管理系统紧密关联,而表现形式又取决于 数据库应用程序

3、。 c# c# c# 5 11.1 数据库和数据库系统数据库和数据库系统 11.1.1 数据库管理系统数据库管理系统 11.1.2 数据库应用程序数据库应用程序 c# c# c# 6 11.1 数据库和数据库系统数据库和数据库系统 数据库管理系统(dbms)是用于描述、管理 和维护数据库的程序系统,是数据库系统的核心 组成部分。 其主要功能有: 描述数据库描述数据库 管理数据库管理数据库 维护数据库维护数据库 数据通信数据通信 c# c# c# 7 11.1 数据库和数据库系统数据库和数据库系统 dbmsdbms主要有四种类型:主要有四种类型: 文件管理系统文件管理系统 层次数据库系统层次数据

4、库系统 网状数据库系统网状数据库系统 关系数据库系统。关系数据库系统。 c# c# c# 8 11.1 数据库和数据库系统数据库和数据库系统 关系数据库中包括:关系数据库中包括: 表(表(tabletable) 字段(字段(fieldfield) 记录(记录(recordrecord) 索引(索引(indexindex) c# c# c# 9 11.1.2 数据库应用程序数据库应用程序 结构化查询语言(structure query language,简称sql)是基于关系模型的数据库 查询语言,它是一种非过程化的程序语言。 如:select 图书名称,出版时间 from 图书 where 出

5、版社=机械工业出版社 含义为从book数据库的图书表中将出版社 是机械工业出版社的所有图书选出来,并列出 它们的图书名称和出版时间。 c# c# c# 10 11.2 sql基础基础 sql按用途分为以下三类: dml dml(data manipulation language 数据操 作语言) 用于查询、修改或者删除数据 ddl ddl(data definition language 数据定义 语言) 用于定义数据的结构,例如创建数据库 中的表、视图、索引等 dcl dcl(data control language 数据控制语言) 用来授予或收回访问数据库的某种特权、控制数 据操纵事务

6、的发生时间及效果、对数据库进行监 视 c# c# c# 11 11.2 数据库和数据库系统数据库和数据库系统 11.2.1 sqlsql的历史的历史 11.2.2 sqlsql的特点的特点 11.2.3 3 sqlsql的基本语法的基本语法 c# c# c# 12 11.2.1 sql的历史的历史 70年代初,e.e.codd首先提出了关系模型 70年代中期,ibm公司研制了sql语言 1979年oracle公司首先提供商用的sql, ibm公司在db2和sql/ds数据库系统中也实现了 sql。 1986年10月,美国ansi采用sql作为关系数 据库管理系统的标准语言(ansi x3. 1

7、35-1986), 后为国际标准化组织(iso)采纳为国际标准。 c# c# c# 13 11.2.1 sql的历史的历史 1989年,美国ansi采纳在ansi x3.135- 1989报告中定义的关系数据库管理系统的sql标 准语言,称为ansi sql 89, 该标准替代ansi x3.135-1986版本。 目前,所有主要的关系数据库管理系统都 支持并遵守ansi sql89标准。 c# c# c# 14 11.2.2 sql的特点的特点 sql是非过程化语言 sql是统一的语言 sql是所有关系数据库的 公共语言 c# c# c# 15 11.2.3 sql的基本语法的基本语法 c#

8、 c# c# 16 11.2.3 sql的基本语法的基本语法 c# c# c# 17 11.2.3 sql的基本语法的基本语法 c# c# c# 18 11.3 数据库访问技术的发展数据库访问技术的发展 数据源数据源(data source) 数据源是指本地和 远程的物理数据库,或者是xml文件。 数据提供者数据提供者(data provider) 数据提供者 将如何实现与物理数据库或者xml文件连接的复杂 过程细节对用户隐藏,展现在用户面前的只是简单 地使用该部件轻松地完成连接到一个或多个数据源、 传送命令,以及将数据传送到数据集(dataset) 中。 数据集数据集(dataset) 数据

9、集对象用来表示来 自一个或多个数据源并保存在内存中的表和关系。 c# c# c# 19 11.3 数据库访问技术的发展数据库访问技术的发展 11.3.1 odbcodbc 11.3.2 daodao和和rdordo 11.3.3 ole db3 ole db 11.3.4 ado4 ado c# c# c# 20 11.3.1 odbc odbc由microsoft与其他公司在20世纪90年代 早期联合开发,是第一个使用sql标准访问不同关 系数据库的数据访问技术。odbc提供了开发人可以 用于任何数据库系统的公共函数集,从而,程序开 发人员使用odbc,能够通过单一的命令操纵不同的 数据库,

10、而开发人员需要做的仅仅只是针对不同的 应用加入相应的odbc驱动。 c# c# c# 21 11.3.1 odbc c# c# c# 22 11.3.2dao和和 rdo dao是第一个基于对象的接口,用visual basic 语言编写。它封装了jet功能(jet是access数据库 的引擎),并允许创建数据绑定(也叫data-aware) 控件。但是,由于在使用dao访问不同的关系型数据 库的时候,jet引擎不得不在dao和odbc之间进行命 令的转化,将导致性能的下降。 c# c# c# 23 11.3.2dao和和 rdo rdo(远程数据对象)是一种紧凑、轻量级 的与odbc的接口,

11、是在几年前推出的。它模仿 了dao对象模型,并且使开发人员获得odbc低级 功能的方式变得更加容易。它在对sql server 的数据访问中非常流行,但其能力仅限于获取 jet或isam数据。另外,它也只能通过现有的 odbc驱动程序访问关系型数据库。 c# c# c# 24 11.3.3ole db ole db是一个全面的com(component object model)接口集,这些接口可用于访问多种数据存 储区中的多种多样的数据。 ole db的设计目的是:可以处理任何类型的信息, c# c# c# 25 11.3.4ado (activex data object) c# c# c

12、# 26 11.4 ado.net 11.4.1 ado.netado.net简介简介 11.4.2 ado.netado.net体系结构体系结构 11.4.3 3 数据集的操作数据集的操作 c# c# c# 27 11.4.1 ado.net简介 c# c# c# 28 11.4.2 ado.net体系结构 c# c# c# 29 11.4.2 ado.net体系结构 1 connectionconnection对象对象 2 2 commandcommand对象对象 3 datareader3 datareader对象对象 4 dataadapter4 dataadapter对象对象 5 c

13、ommandbuilder5 commandbuilder对象对象 6 dataset6 dataset对象对象 c# c# c# 30 11.4.2 ado.net体系结构 1. connectionconnection对象对象 在ado.net中,通过在连接字符串中提供必 要的身份验证信息,使用connection对象连接 到特定的数据源,该对象主要保存了有关数据 库服务器的信息,用于打开和关闭与数据库的 连接。 使用完后,要把连接关闭,释放占有的资 源。 using语句修饰连接对象时,在离开其作用 范围时会自动释放对象。 c# c# c# 31 11.4.2 ado.net体系结构 .n

14、et framework数据提供程序包含的connection 对象提供了如下四种connection对象: 1) ole db .net framework数据提供程序中的 oledbconnection对象。 2) sql server .net framework数据提供程序中 的sqlconnection对象。 c# c# c# 32 11.4.2 ado.net体系结构 3) odbc .net framework 数据提供程序中的 odbcconnection对象。 4) oracle .net framework数据提供程序中的 oracleconnection对象。 c# c#

15、 c# 33 11.4.2 ado.net体系结构 .net framework提供了以下command对象: ole db .net framework数据提供程序包括一个 oledbcommand对象; sql server .net framework数据提供程序包括 一个sqlcommand对象; odbc .net framework数据提供程序包括一个 odbccommand对象; oracle .net framework数据提供程序包括一个 oraclecommand对象。 2. commandcommand对象对象 c# c# c# 34 11.4.2 ado.net体系结构

16、 c# c# c# 35 11.4.2 ado.net体系结构 sqlcommand提供的对sql server数据库执行命令 的重要方法有四种: executereader()方法:执行查询,返回查询结果 的命令。为了提高性能,使用transact-sql sp_executesql系统存储过程调用命令。 executenonquery()方法:执行transact-sql insert、delete、update及set语句等命令,返回 值为受影响的行数。 多用于执行sql语句。 c# c# c# 36 11.4.2 ado.net体系结构 executescalar()方法:执行查询,用

17、于从数据库中 检索单个值(例如一个聚合值)。只返回查询所返回 的结果集中第一行的第一列,而忽略其他列或行。系 统开销很小,效率较高。 executexmlreader()方法:将commandtext发送到 connection执行,并生成一个xmlreader 对象。 c# c# c# 37 11.4.2 ado.net体系结构 ado.net的datareader对象可以从数据库中检索 只读、只进的数据流,实现对数据源中的数据高 速、只向前的访问。 查询结果在查询执行时返回, 并存储在客户端的网络缓冲区(默认每次只存储 一行数据),直到调用read方法读取。 datareader对象依赖连

18、接,使用时必须保持数 据库连接打开。 创建sqldatareader对象的方法: sqldatareader dr=mysqlcommand.executereader(); . datareaderdatareader对象对象 c# c# c# 38 11.4.2 ado.net体系结构 . dataadapterdataadapter对象对象 dataadapter通过使用command和connection对 象在数据源和数据集(dataset)两者之间构成一 座桥梁。即结合dataset使用,使得dataset“连 接”到数据源中,以便检索和保存数据。 本质上dataadapter是容

19、器,它含有4个预先配 置好的command实例,即selectcommand、 insertcommand、deletecommand和updatecommand。 常用方法:fill用来更改dataset中的数据以 匹配数据源中的数据 update用来更改数据源中的数据以 匹配dataset中的数据 c# c# c# 39 11.4.2 ado.net体系结构 . commandbuildercommandbuilder对象对象 dataadapte不会自动生成为了使对dataset所 作的更改和相关联的数据源协调起来所必须的sql 语句,但是,如果设置了dataadapter的 selectcommand属性(selectcommand还必须至少 返回一个主键列或惟一的列。如果什么都没有返 回,就会产生invalidoperationexception异常, 不生成命令),就可以创建commandbuilder对象 来自动生成sql语句进行单表更新,即动态创建 delete、insert或update执行命令 c# c# c# 40 如果在检索元数据后更改了selectcommand (包括其connection、commandtimeout、 transaction等属性),则需要调用 refreshschema方法。 一次只能将一个dataad

温馨提示

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

评论

0/150

提交评论