C#程序设计及应用教程 第2版 教学课件 ppt 马骏 第9章 ADO.NET与数据操作

上传人:E**** 文档编号:89343482 上传时间:2019-05-23 格式:PPT 页数:78 大小:1.37MB
返回 下载 相关 举报
C#程序设计及应用教程 第2版  教学课件 ppt 马骏 第9章 ADO.NET与数据操作_第1页
第1页 / 共78页
C#程序设计及应用教程 第2版  教学课件 ppt 马骏 第9章 ADO.NET与数据操作_第2页
第2页 / 共78页
C#程序设计及应用教程 第2版  教学课件 ppt 马骏 第9章 ADO.NET与数据操作_第3页
第3页 / 共78页
C#程序设计及应用教程 第2版  教学课件 ppt 马骏 第9章 ADO.NET与数据操作_第4页
第4页 / 共78页
C#程序设计及应用教程 第2版  教学课件 ppt 马骏 第9章 ADO.NET与数据操作_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《C#程序设计及应用教程 第2版 教学课件 ppt 马骏 第9章 ADO.NET与数据操作》由会员分享,可在线阅读,更多相关《C#程序设计及应用教程 第2版 教学课件 ppt 马骏 第9章 ADO.NET与数据操作(78页珍藏版)》请在金锄头文库上搜索。

1、第9章 ADO.NET与数据操作,9.1 ADO.NET简介 9.2 数据库与数据库访问工具 9.3 ADO.NET数据访问对象 9.4 数据绑定技术 9.5 DataGridView控件 9.6 数据处理 9.7 存储过程 9.8 语言集成查询(LINQ),9.1 ADO.NET简介,ADO.NET是在ADO(ActiveX Data Objects)基础上发展的新一代数据存取技术,是微软.NET平台下提出的新的数据访问模型。ADO.NET设计了一系列对各类数据的访问形式,并提供了对应的类,类中提供了与对应数据交互的属性和方法,我们可以通过这些属性和方法对各种数据进行存取操作。,数据访问操作

2、的发展,采用ODBC(开发式数据互连)数据访问形式。这种访问方式的前提是,只要公司提供某个数据库的数据驱动程序,就可以在程序中对这个数据库操作。但是这种方式只能对结构化数据操作,对于非结构化数据无能为力。 采用OLE DB数据访问形式。该方式设计了一个抽象层,由抽象层负责对不同类型的数据提供统一的形式,程序与数据源打交道均经过抽象层。达到了对结构化、非结构化数据均能按统一的方式进行操作。 采用ADO数据模型。该模型在OLE DB的基础上又重新设计了访问层,对高级语言编写的程序提供了统一的以“行”为操作目标的数据访问形式。 采用ADO.NET数据访问模型。该模型重新整合OLE DB和ADO,并在

3、此基础上构造了新的对象模型。该模型既提供了保持连接的数据访问形式,又提供了松耦合的、以DataSet对象为操作目标的数据访问形式。,ADO.NET数据访问模型,VS2008开发环境下使用的是ADO.NET 2.0。 在ADO.NET 2.0中,SQL数据提供程序使用统一的SQL数据访问模型实现对各种使用SQL语句的数据库的数据访问支持。例如Oracle、SQL Server、DB2、Access等。,9.2 数据库与数据库访问工具,9.2.1 SQL Server 数据库的分类 VS2008中有3种与SQL Server数据库的连接形式,分别为“SQL Server”、“SQL Server

4、Compact 3.5”和“SQL Server数据库文件”。 1Microsoft SQL Server 该选项用于和远程服务器上的数据库连接。 2Microsoft SQL Server数据库文件 该选项用于和SQL Server Express数据库文件建立连接。本章的所有例子均用SQL Server Express来讲解。,9.2.1 SQL Server 数据库的分类,3Microsoft SQL Server Compact 3.5 SQL Server Compact 3.5是一个更简单的SQL Server数据库版本,数据库扩展名为.sdf,该版本是基于文件的数据库,而不是基于

5、服务的数据库,这种类型的数据库一般用于移动设备应用程序。 4本地数据库文件 不论是哪种数据库文件,只要是保存在本地计算机上,就称其为本地数据库文件。 在“新建项”模板中,本地数据库文件又分为“本地数据库”和“基于服务的数据库”,模板中的“本地数据库”是指SQL Server Compact 3.5的.sdf文件,“基于服务的数据库”是指SQL Server Express的.mdf文件。 5数据库文件的属性设置 项目中本地数据库文件的【复制到输出目录】属性的默认值如下: (1)对于.sdf文件,其默认值为“如果较新则复制”。 (2)对于.mdf文件,其默认值为“始终复制”。,9.2.2 数据访

6、问可视化工具,1服务器资源管理器 2数据集设计器 3数据源,本章选用示例数据库,数据库MyDatabase.mdf 数据表:见P235页定义 MyTable1学院编码对照表 MyTable2基本情况表 MyTable3家庭成员表 数据类型说明: char、Varchar Nchar、Nvarchar Datetime Image、Binary、VarBinary Text、NText,9.3 ADO.NET数据访问对象,ADO.NET常用的对象模型: (1) Connection对象 (2) Command对象 (3) DataReader对象 (4) DataAdapter对象 (5) Pa

7、rameter对象 (6) Transaction对象 这些对象提供了对数据库的各种不同的访问功能 对于不同的数据库,区别仅是前缀不同,例如: SQL Server数据库:SqlConnection、SqlDataAdapter Oracle数据库:OracleConnection、OracleDataAdapter,9.3.1 SqlConnection对象,ADO.NET使用SqlConnection对象与SQL Server进行连接。 连接字符串的常用形式有两种: (1)使用Windows集成安全身份验证,例如: string connectionString = “Integrated

8、 Security=SSPI; Database=MyDatabase.mdf; Server=localhost;“; (2)使用用户名、密码形式,例如: string connectionString = “ server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf”; 但是这种连接方式的安全性不高,比较容易受到黑客的攻击,9.3.1 SqlConnection对象(续),如果与SQL Server Express Edition创建连接,可以直接使用附加数据库名的方式。连接字符串的一般形式为: string connection

9、String =“Data Source=.SQLEXPRESS; AttachDbFilename=|DataDirectory|DatabaseName;“ + “Integrated Security=True; Connect Timeout=60; User Instance=True“ 例如,下一页,9.3.1 SqlConnection对象(续),string connectionString =“Data Source=.SQLEXPRESS; AttachDbFilename=|DataDirectory|MyDataBase.mdf; “ + “Integrated Sec

10、urity=True; Connect Timeout=60; User Instance=True“; SqlConnection conn = new SqlConnection(connectionString); 实际上,连接字符串是可以自动生成的。在使用创建数据库之后,系统会自动生成一个连接字符串,并保存到配置文件中 例如: Properties.Settings.Default.MyDatabaseConnectionString 确定连接字符串后,就可以创建SqlConnection对象。,9.3.1 SqlConnection对象(续),为了简化书写,还需要在代码中添加对命名空

11、间的引用: using System.Data.SqlClient; 可通过连接字符串直接创建SqlConnection对象, 例如: SqlConnection conn = new SqlConnection(connString); 或者: SqlConnection conn = new SqlConnection(); conn.ConnectionString = connString;,9.3.2 SqlCommand对象,在ADO.NET中,有两种操作数据库的方式: (1)采用无连接的方式。 (2)采用保持连接的方式。 不论采用哪种方式,都可以通过SqlCommand对象提供的

12、方法传递对数据库操作的命令,并返回命令执行的结果。,9.3.2 SqlCommand对象(续),在保持连接的方式下操作数据库的一般步骤为: 1) 创建SqlConnection的实例; 2) 创建SqlCommand的实例; 3) 打开连接; 4) 执行命令; 5) 关闭连接。 SqlCommand对象提供了多种完成对数据库操作的方法。常用有: 1. ExecuteNonQuery 该方法执行SQL语句的结果,但不返回命令执行的表数据,仅返回操作所影响的行数。 2.ExecuteReader:返回一个SqlDataReader对象。,9.3.2 SqlCommand对象(续),3. Execu

13、teScaler() 该方法用于执行SELECT查询,得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。,SQL语句中使用参数,SqlParameter对象 表示SqlCommand的参数。 其中参数名称不区分大小写。 使用方法 /声明一个参数 SqlParameter parameter = cmd.Parameters.Add( “CategoryName“, SqlDbType.NVarChar, 15); /为参数赋值 parameter.Value = “Beverages“; 或者: cmd.Parameters.Add( “Categor

14、yName“, SqlDbType.NVarChar, 15); cmd.Parameters“CategoryName”.Value= “Beverages“;,9.3.2 SqlCommand对象(续),【例9-2】演示SqlCommand对象的用法。,9.3.3 SqlDataAdapter对象,SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。一般步骤: 1) 创建SqlConnection的实例; 2) 创建SqlDataAdapter的实例,需要的话,根据select语句生成其他SQL语句; 3) 创建DataSet的实例; 4) 使用Fil

15、l方法将数据库中的表填充到DataSet表中; 5) 利用DataGridView或者其他控件对象编辑或显示数据; 6) 需要的话,使用Update方法更新数据库。,9.3.3 SqlDataAdapter对象(续),SqlDataAdapter对象通过SelectCommand、Insert Command、UpdateCommand和DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。 一般情况下,只需要提供SELECT语句和连接字符串创建SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、Update

16、Command和DeleteCommand属性。,9.3.3 SqlDataAdapter对象(续),【例9-3】根据选择的表名打开数据库表,并将表中数据通过DataGridView显示出来。 设计界面如下:,9.3.4 DataTable对象,ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。 DataTable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中。,9.3.4 DataTable对象(续),在断开连接的方式下,DataSet对象提供了和关系数据库一样的关系数据模型,代码中可以直接访问DataSet对象中的DataTable对象,也可以添加、删除DataTable对象。,9.3.4 DataTable对象(续),【例9-4】自定义一个DataTable对象,直接创建行列信息,并在

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

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

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