C#程序设计pp9.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C#程序设计pp9.ppt》由会员分享,可在线阅读,更多相关《C#程序设计pp9.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、nC#程序设计pp9第第第第9 9章章章章 数据库应用开发数据库应用开发数据库应用开发数据库应用开发v大多数应用程序需要和数据库交互。同其他.NET开发语言一样,在C#语言中对数据库的访问是通过.NET框架中的ADO.NET来实现的。ADO.NET是重要的应用程序级别的接口,用于在Microsoft.NET平台中提供数据访问服务。本章将详细介绍ADO.NET的原理与结构以及在C#应用程序中如何使用ADO.NET。数据库应用开发数据库应用开发数据库应用开发数据库应用开发本章结构本章结构9.1ADO.NET概述9.2 使用连接9.3 ADO.NET对象的使用9.4数据访问服务器控件9.5XML的文
2、档与数据处理9.1 ADO.NETADO.NET概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点9.1.2 ADO.NET对象模型的结构对象模型的结构9.1.3 ADO.NET数据库开发方式数据库开发方式9.1 ADO.NETADO.NET概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点 在在.NET.NET中数据库的访问是通过中数据库的访问是通过ADO.NETADO.NET完成的。完成的。ADO.NETADO.NET是微软公司是微软公司ADOADO(Active Data ObjectActive Data Object)技术的升级版本。)技术的升级版本。ADO.
3、NET ADO.NET减少了与数据库的活动连接数目(即减少了多个用户争用数减少了与数据库的活动连接数目(即减少了多个用户争用数据库服务器上的有限资源的可能性),从而实现了最大限度的数据共享。据库服务器上的有限资源的可能性),从而实现了最大限度的数据共享。下面就介绍一下下面就介绍一下ADO.NETADO.NET的主要特点:的主要特点:9.1 ADO.NETADO.NET概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点1.ADO.NET不依赖于连续的活动连接不依赖于连续的活动连接2.使用数据命令执行数据库交互使用数据命令执行数据库交互 在在ADO.NET中使用数据命令封装了中使用数据
4、命令封装了SQL语句或语句或存储过程。例如,从数据库读取一组行,则创建一个存储过程。例如,从数据库读取一组行,则创建一个数据命令并用数据命令并用SQL的的SELECT语句的文本,或获取记语句的文本,或获取记录的存储过程名称来配置它。录的存储过程名称来配置它。在进行数据库交互时一般按以下顺序操作:在进行数据库交互时一般按以下顺序操作:(1)打开一个连接;)打开一个连接;(2)执行该命令引用的)执行该命令引用的SQL语句或存储过程;语句或存储过程;(3)关闭连接。)关闭连接。连接保持打开的时间仅足够执行语句或存储过程。连接保持打开的时间仅足够执行语句或存储过程。9.1 ADO.NETADO.NET
5、概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点3.使用数据集使用数据集(Dataset)缓存数据缓存数据 虽然使用数据命令可以进行几乎全部数据库的操虽然使用数据命令可以进行几乎全部数据库的操作,但在处理应用程序时,最常见的数据任务是从数作,但在处理应用程序时,最常见的数据任务是从数据库检索数据并对数据进行某些操作:显示数据、处据库检索数据并对数据进行某些操作:显示数据、处理数据或将数据发送给另一个组件。理数据或将数据发送给另一个组件。数据集是从数据源检索的记录的缓存,它的工作数据集是从数据源检索的记录的缓存,它的工作方式如同虚拟的数据存储区:数据集包含一个或多个方式如同虚拟的数
6、据存储区:数据集包含一个或多个表(这些表可能来自实际数据库中的表),并且它可表(这些表可能来自实际数据库中的表),并且它可以包含有关这些表之间的关系和表数据的约束的信息。以包含有关这些表之间的关系和表数据的约束的信息。9.1 ADO.NETADO.NET概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点4.数据集独立于数据源数据集独立于数据源 数据集是作为从数据库获取的数据的缓存,但数数据集是作为从数据库获取的数据的缓存,但数据集是容器,它可由从数据适配器执行的据集是容器,它可由从数据适配器执行的SQL命令或命令或存储过程填充。存储过程填充。5.数据保存为数据保存为XML 数据需要
7、从数据存储区移动到数据集以及从数据数据需要从数据存储区移动到数据集以及从数据集移动到各种组件。在集移动到各种组件。在ADO.NET中,传输数据的格中,传输数据的格式是式是XML。类似地,如果需要保存数据(例如保存。类似地,如果需要保存数据(例如保存到文件中),则将其存储为到文件中),则将其存储为XML。如果有。如果有XML文件文件,则可以像使用任何数据源一样使用它,并从它创建数则可以像使用任何数据源一样使用它,并从它创建数据集。据集。9.1 ADO.NETADO.NET概述概述9.1.1 ADO.NET基本概念与特点基本概念与特点6.通过架构定义数据结构通过架构定义数据结构 ADO.NET数据
8、集以数据集以XML表示,使用基于表示,使用基于XML架构定义语言架构定义语言(XSD)的)的XML架构来定义数据集的结构(如在数据集中有哪些表、架构来定义数据集的结构(如在数据集中有哪些表、列列,数据类型、约束等的定义)。数据类型、约束等的定义)。Vs 2008工具提供了可视化设计器来完成工具提供了可视化设计器来完成ADO.NET中的数据操作,中的数据操作,并能根据需要生成和更新架构。并能根据需要生成和更新架构。创建一个数据集,见创建一个数据集,见WebDataDemo9.1 ADO.NETADO.NET概述概述9.1.2 ADO.NET对象模型的结构对象模型的结构 下图展示了下图展示了ADO
9、.NET对象模型中的主要对象。当然,实际上的对象模型中的主要对象。当然,实际上的ADO.NET类库是很复杂的,需要了解的是类库是很复杂的,需要了解的是ADO.NET对象模型中有对象模型中有哪些主要对象,以及它们之间是如何交互的。哪些主要对象,以及它们之间是如何交互的。ADO.NET的对象模型的对象模型9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET数数据据库库开开发发数据库数据库访问方式访问方式在在在在WindowsWindows平台下平台下平台下平台下开发开发开发开发OLEDB模式模式SQLClient模式模式ODBC模式模式O
10、racle数据库模式数据库模式9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET数数据据库库开开发发OLEDB模式模式 OLEDB模式主要用于访问模式主要用于访问OLEDB所支持的数据库。在所支持的数据库。在使用使用OLEDB模式时需要引入的命名空间有模式时需要引入的命名空间有System.Data和和System.Data.OleDb,对应于,对应于ADO.NET对象模型中的对象,对象模型中的对象,OLEDB模式的对象名称分别为模式的对象名称分别为OleDbConnection对象对象,OleDbCommand对象,对象,OleD
11、bDataAdapter对象和对象和OleDbDataReader对象。对象。9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET数数据据库库开开发发ODBC模式模式 ODBCODBC模式主要用于连接模式主要用于连接ODBCODBC所支持的数据库。在所支持的数据库。在使用使用ODBCODBC模式时需要引入的命名空间有模式时需要引入的命名空间有System.DataSystem.Data和和System.Data.OdbcSystem.Data.Odbc,对应于,对应于ADO.NETADO.NET对象模型中的对象模型中的对象,对象,OD
12、BCODBC模式的对象名称分别为模式的对象名称分别为OdbcConnectionOdbcConnection对对象,象,OdbcCommandOdbcCommand对象,对象,OdbcDataAdapterOdbcDataAdapter对象和对象和OdbcDataReaderOdbcDataReader对象对象。SQLClient模式模式9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET数数据据库库开开发发 SQLClient模式只用于访问模式只用于访问MS SQL Server数据数据库,是库,是ADO.NET中比较特殊的组件。在
13、使用中比较特殊的组件。在使用SQLClient模式时需要引入的命名空间有模式时需要引入的命名空间有System.Data和和System.Data.SqlClient,对应于对应于ADO.NET对象模型对象模型中的对象分别是中的对象分别是SqlConnection对象、对象、SqlCommand对对象、象、SqlDataAdapter对象和对象和SqlDataReader对象对象。Oracle数据库模式数据库模式9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET数数据据库库开开发发 Oracle数据库模式只用于访问数据库模式只用于访
14、问Oracle数据库。在数据库。在使用使用Oracle数据库模式时需要引入的命名空间有数据库模式时需要引入的命名空间有System.Data和和System.Data.OracleClient,对应于,对应于ADO.NET对象模型中的对象分别是对象模型中的对象分别是OracleConnection对象、对象、OracleCommand对象、对象、OracleDataAdapter对象和对象和OracleDataReader对象。对象。9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET中中基基本本的的数数据据库库开开发发方方式式1 利
15、用Command对象和DataReader对象直接操作和显示数据。可以使用数据命令Command对象和数据读取器对象DataReader以便与数据源直接通信。使用数据命令Command对象创建数据读取器对象。DataReader直接进行的数据库操作包括:运行查询和存储过程、创建数据库对象、使用DDL命令(data manipulation language)直接更新和删除。9.1 ADO.NETADO.NET概述概述9.1.3 ADO.NET数据库开发方式数据库开发方式ADO.NET中中基基本本的的数数据据库库开开发发方方式式2 使用DataAdapter对象和DataSet对象 如果应用程序
16、需要访问多个源中的数据,需要与其他应用程序相互操作,则使用DataAdapter适配器对象和数据集DataSet是一个极好的选择。9.2 使用连接使用连接要开发数据库应用程序,首先需要建立与数据库的连接。在ADO.NET中数据库连接是通过Connection对象来管理的。9.2 使用连接使用连接9.2.1 Connection连接字符串连接字符串9.2.4 打开和关闭连接打开和关闭连接9.2.2 在设计时创建对象在设计时创建对象9.2.3 在运行时创建对象在运行时创建对象9.2 使用连接使用连接9.2.1 Connection连接字符串连接字符串 最重要的属性是连接字符串最重要的属性是连接字符
17、串ConnectionString,它用,它用于提供登录数据库和指向特定数据库所需的信息。典型的于提供登录数据库和指向特定数据库所需的信息。典型的ConnectionString属性可能如下所示:属性可能如下所示:1.Provider=SQLOLEDB;DataSource=MySQLServer;InitialCatalog=MyDB;IntegratedSecurity=SSPI2.DataSource=.SQLEXPRESS;AttachDbFilename=|DataDirectory|northwnd.mdf;IntegratedSecurity=True;UserInstance=
18、True(一个WEB应用程序使用)http:/ 使用连接使用连接9.2.1 Connection连接字符串连接字符串9.2 使用连接使用连接9.2.1 Connection连接字符串连接字符串 下面以下面以MS SQL Server和和MS Access数据库为例介绍连接字符串的数据库为例介绍连接字符串的写法。写法。1.与与SQL Server数据库的连接数据库的连接假设假设SQL Server数据库服务器为数据库服务器为127.0.0.1(本机),要访问的数据库名(本机),要访问的数据库名为为MyDB,采用,采用Windows集成安全性认证方式。集成安全性认证方式。(1)在在SqlClien
19、t方式下的字符串如下:方式下的字符串如下:data source=127.0.0.1;persist security info=False;initial catalog=MyDB;integrated security=SSPI;(2)OleDb方式的字符串如下:方式的字符串如下:Provider=SQLOLEDB;Data Sourse=127.0.0.1;persist security info=False;initial catalog=MyDB;integrated security=SSPI;(3)Odbc方式:方式:Driver=SQLServer;Server=127.0.
20、0.1;Database=MyDB;Trusted_Connection=Yes;UID=Administrator9.2 使用连接使用连接9.2.1 Connection连接字符串连接字符串2.与与Access数据库的连接数据库的连接 这里约定该这里约定该Access数据库是数据库是Access2003创建的,而数据库文件的路径创建的,而数据库文件的路径为为C:data.mdb,Odbc方式。方式。Driver=Microsoft Access Driver(*.mdb);DBQ=C:data.mdb;UID=admin;设定连接字符串时,设定连接字符串时,Connection对象应该在非连
21、接状态,如果要在运对象应该在非连接状态,如果要在运行时通过代码来更改数据库的连接,首先应该断开已有的连接。行时通过代码来更改数据库的连接,首先应该断开已有的连接。建立建立Connection对象连接数据库可以通过代码方式,也可以通过对象连接数据库可以通过代码方式,也可以通过VS的的IDE环境来完成。环境来完成。9.2 使用连接使用连接1.打开打开“数据连接属性数据连接属性”对话框对话框 在在IDE环境中选择菜单环境中选择菜单“视图视图”“服务器资源管理器服务器资源管理器”,如下,如下图所示。图所示。服务器资源管理器面板服务器资源管理器面板9.2.2 在设计时创建对象在设计时创建对象9.2 使用
22、连接使用连接2.指定数据提供程序图指定数据提供程序图 IDE环境默认连接的是环境默认连接的是MS SQL Server数据库,需要连接的是数据库,需要连接的是Access数据库,因此需要返回第一个页面选择数据库,因此需要返回第一个页面选择”ODBC数据源数据源”对应的数对应的数据提供程序。据提供程序。9.2.2 在设计时创建对象在设计时创建对象9.2 使用连接使用连接3.设定参数图设定参数图9.2.2 在设计时创建对象在设计时创建对象使用连接字符串,点击使用连接字符串,点击“生成生成”,并给,并给DNS取一个名称,如下图所示:取一个名称,如下图所示:9.2 使用连接使用连接 一种生成数据连接实
23、例的方法是从一种生成数据连接实例的方法是从“工工具箱具箱”的的“数据数据”面板中将对应的面板中将对应的Connection对象拖动到窗体上,然后再从属性面板中的对象拖动到窗体上,然后再从属性面板中的连接字符串属性中选择已定义好的数据连接。连接字符串属性中选择已定义好的数据连接。9.2.2 在设计时创建对象在设计时创建对象在在窗窗体体中中使使用用数数据据连连接接工具箱的数据组件工具箱的数据组件9.2 使用连接使用连接 一般来讲没有必要创建窗口一级的一般来讲没有必要创建窗口一级的Connection对象,因为对象,因为有时需要在没有绑定到窗体的应用中使用数据库连接时,就必有时需要在没有绑定到窗体的
24、应用中使用数据库连接时,就必须手动用代码来创建连接了。须手动用代码来创建连接了。Connection对象的构造函数有对象的构造函数有2个版本,没有参数的版本个版本,没有参数的版本创建一个创建一个Connection String属性为空的新连接,带参数的版本属性为空的新连接,带参数的版本接受一个字符串作为接受一个字符串作为ConnectionString属性的值。属性的值。9.2.3 在运行时创建对象在运行时创建对象9.2 使用连接使用连接 以下是使用带参数的构造函数的例子:以下是使用带参数的构造函数的例子:System.Data.OleDb.OleDbConnection conn=new
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序设计 pp9
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内