Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11

上传人:E**** 文档编号:89351420 上传时间:2019-05-23 格式:PPT 页数:48 大小:407KB
返回 下载 相关 举报
Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11_第1页
第1页 / 共48页
Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11_第2页
第2页 / 共48页
Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11_第3页
第3页 / 共48页
Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11_第4页
第4页 / 共48页
Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11》由会员分享,可在线阅读,更多相关《Visual C# 2010程序设计教程 教学课件 ppt 作者 978-7-302-28609-7 ch11(48页珍藏版)》请在金锄头文库上搜索。

1、第11章 C#数据库编程与ADO.NET 本章要点: ADO.NET体系结构 数据提供程序 数据集DataSet,11.1 ADO.NET概述,11.1.1 ADO.NET结构 ADO.NET为创建分布式数据共享应用程序提供了一组丰富的组件。ADO.NET库中包含用于连接至数据源、提交查询以及处理结果的类。利用最主要的非连接对象DataSet,可以对数据进行排序、搜索、筛选、存储挂起更改,以及在分层数据中进行浏览。DataSet还包含很多功能,填补了传统数据访问和XML开发之间的空白。下图给出了ADO.NET的体系结构:,11.1 ADO.NET概述,11.1.1 ADO.NET结构,11.1

2、 ADO.NET概述,11.1.1 ADO.NET结构 1.NET Framework数据提供程序 .NET Framework数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件。Connection对象提供与数据源的连接。Command对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader从数据源中提供高性能的数据流。最后,DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数

3、据源保持一致。,11.1 ADO.NET概述,11.1.1 ADO.NET结构 2.数据集DataSet ADO.NET DataSet专门为独立于任何数据源的数据访问而设计。因此,它可以用于多种不同的数据源、用于XML数据或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。,11.1 ADO.NET概述,11.1.2 ADO.NET数据提供程序 .NET Framework数据提供程序用于连接到数据库、执行命令和检索结果。可以直接处理检索到的结果,或将其放入ADO

4、.NET DataSet对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。.NET Framework数据提供程序是轻量的,它在数据源和代码之间创建了一个最小层,以便在不以功能为代价的前提下提高性能。 其所包含对象有:,11.1 ADO.NET概述,11.1.2 ADO.NET数据提供程序,11.1 ADO.NET概述,11.1.2 ADO.NET数据提供程序 .NET Framework中包含的.NET Framework数据提供程序,11.1 ADO.NET概述,11.1.3 在代码中使用ADO.NET ADO.NET的相关类都被封装到System.

5、Data命名空间中,在代码中要使用ADO.NET相关功能,需要将System.Data命名空间引入到代码中,其中该命名空间下又包括OleDb、ODBC、SqlClient、Common、SqlTypes、Sql、ProviderBase等常用子命名空间。根据需要使用的数据提供程序不同需要将特定的子命名空间引入到程序中即可。,11.1 ADO.NET概述,11.1.3 在代码中使用ADO.NET .NET Framework类库中与数据库相关的常用命名空间及说明如下: System.Data.Odbc:用于 ODBC 的.NET Framework 数据提供程序描述了用来访问托管空间中的 ODB

6、C 数据源的类集合; System.Data.OleDb:用于 OLE DB 的 .NET Framework 数据提供程序描述了用于访问托管空间中的 OLE DB 数据源的类集合; System.Data.Sql:包含支持 SQL Server 特定的功能的类; System.Data.SqlClient:SQL Server 的 .NET Framework 数据提供程序描述了一个类集合,这个类集合用于访问托管空间中的 SQL Server 数据库; System.Data.SqlTypes:为 SQL Server中的本机数据类型提供类。这些类为 .NET Framework 公共语言运

7、行库 (CLR) 所提供的数据类型提供了一种更为安全和快速的替代项。,11.2 数据连接对象Connection,11.2.1 Connection对象 Connectionion对象主要用于连接数据库,它的常用的属性如下: ConnectionString属性:该属性用来获取或设置用于打开SQL Server数据库的字符串。 ConnectionTimeout属性:该属性用来获取在尝试建立连接时终止尝试,并生成错误之前所等待的时间。 DataBase属性:该属性用来获取当前数据库或连接打开后要使用的数据库的名称。 DataSource属性:该属性用来设置要连接的数据源实例名称,例如SQL S

8、erver的Local服务实例。 State属性:该属性是一个枚举类型的值,用来表示同当前数据库的连接状态。State属性一般是只读不写的,11.2 数据连接对象Connection,11.2.2 Connection对象的方法 (1) 构造方法,11.2 数据连接对象Connection,11.2.2 Connection对象的方法 (2) Open和Close方法 Open和Close方法分别用来打开和关闭数据库连接,都不带参数,均无返回值。 (3) SqlCommand(OleDbCommand)CreateCommand()方法 SqlCommand(OleDbCommand)Crea

9、teCommand()方法用来创建一个Command类型的对象。,11.2 数据连接对象Connection,11.2.3 Connection对象的事件 1.使用InfoMessage事件 可以使用SqlConnection对象的InfoMessage事件从数据源中检索警告和信息性消息。从数据源返回的严重程度为11到16的错误将引发异常。但是,InfoMessage事件可用于从数据源中获取与错误无关联的消息。对于Microsoft SQL Server,任何严重程度等于或小于10的错误都将被视为信息性消息,将使用InfoMessage事件来捕获。 2.使用StateChange事件 Stat

10、eChange事件在Connection的状态改变时发生。StateChange事件接收StateChangeEventArgs,使用户能够使用OriginalState和CurrentState属性来确定Connection状态的改变。OriginalState属性是一个ConnectionState枚举,指示改变前的Connection状态。CurrentState是一个ConnectionState枚举,指示改变后的Connection状态。,11.2 数据连接对象Connection,11.2.4 创建Connection对象 针对数据库驱动提供者的不同,Connection对象的创建

11、方式也有所差异: 1.连接到SQL Server SQL Server .NET Framework数据提供程序支持类似于OLE DB (ADO)连接字符串格式的连接字符串格式。连接格式如下: using System.Data.SqlClient; /引入命名空间 SqlConnection connection = new SqlConnection(connectionString) 2.对于OLE DB .NET Framework数据提供程序,连接字符串格式与ADO中使用的连接字符串格式基本相同 3.连接到ODBC数据源 对于ODBC .NET Framework数据提供程序,连接字

12、符串的格式设计为尽可能与ODBC连接字符串的格式相匹配。,11.2 数据连接对象Connection,11.2.5 使用Connection对象 Connection对象应用的一般步骤是: (1) 创建连接字符串; (2) 创建Connection类型的对象; (3) 打开数据源的连接; (4) 执行数据库的访问操作代码; (5) 关闭数据源连接。 参考如下代码:,11.2 数据连接对象Connection,11.2.5 使用Connection对象 using System.Data.OleDb; /添加引用 /连接Access数据库 string connStr=“Porvider = M

13、icrosoft.Jet.OleDB.4.0;Data Source= D:myDB.mdb“; /根据连接字符串创建OleDbConnection连接对象 OleDbConnection objConnection = new OleDbConnection(strConnect); /打开数据连接 if (objConnection.State = ConnectionState.Closed) objConnection.Open(); /关闭数据连接 if (objConnection.State = ConnectionState.Open) objConnection.Close(

14、);,11.3 数据库命令对象Command,11.3.1 Command对象的属性 1. Connection属性 Connection属性用来获得或设置该Command对象的连接数据源。比如某SqlConnection类型的conn对象连在SQL Server服务器上,又有一个Command类型的对象cmd,可以通过cmd.Connection = conn来让cmd在conn对象所指定的数据库上操作。通常的做法是直接通过Connection对象来创建Command对象,而Command对象不宜通过设置Connection属性来更换数据库,所以上述做法并不推荐。 2. Connection

15、String属性 ConnectionString属性用来获得或设置连接数据库时用到的连接字符串,用法和上述Connection属性相同。同样,不推荐使用该属性来更换数据库。,11.3 数据库命令对象Command,11.3.1 Command对象的属性 3. CommandType属性 CommandType属性用来获得或设置CommandText属性中的语句是SQL语句、数据表名还是存储过程。该属性的取值有3个: 如果把CommandType设置成为Text或不设置,说明CommandText属性的值是一个SQL语句。 如果把CommandType设置成为TableDirect,说明Com

16、mandText属性的值是一个要操作的数据表的名。 如果把CommandType设置成为StoredProcedure,说明CommandText属性的值是一个存储过程。 4. CommandText属性 根据CommandType属性的不同取值,可以使用CommandText属性获取或设置SQL语句、数据表名或存储过程。,11.3 数据库命令对象Command,11.3.2 Command对象的方法 1. 构造方法,11.3 数据库命令对象Command,11.3.2 Command对象的方法 2. ExecuteNonQuery方法 ExecuteNonQuery方法用来执行Insert、Update、Delete和其他没有返回结果集的SQL语句,并返回执行命令后影响的行数。如果Update和Delete命令所对应的目标记录不存在,返回0。如果出错,返回(1)。 3. ExecuteScalar方法 ExecuteScalar方法执行一个SQL命令,并返回结果集中的首行首列。如果结果集大于一行一列,则忽略其他部分。根据该特性,这个方法通常用来执行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号