《Visual Basic .NET程序设计教程 第2版 教学课件 ppt 作者 刘瑞新第10章 使用ADO.NET访问数据库》由会员分享,可在线阅读,更多相关《Visual Basic .NET程序设计教程 第2版 教学课件 ppt 作者 刘瑞新第10章 使用ADO.NET访问数据库(26页珍藏版)》请在金锄头文库上搜索。
1、第10章 使用ADO.NET访问数据库,本章讲述的主要内容 10.1 ADO.NET概述 10.2 数据库连接对象 10.3 数据库命令对象 10.4 数据库读取对象 10.5 数据适配器对象 10.6 DataSet,10.1 ADO.NET概述,10.1.1 ADO.NET的数据模型 Visual Studio使用ADO.NET数据模型来实现对数据库的连接和各种操作。ADO.NET数据模型由ADO发展而来,其特点主要有以下几个方面: 1) ADO.NET不再采用传统的ActiveX技术,是一种与.NET框架紧密结合的产物。 2) ADO.NET包含对XML标准的全面支持,这对于实现跨平台的
2、数据交换具有十分重要的意义。 3) ADO.NET既能在数据源连接的环境下工作,也能在断开数据源连接的条件下工作。特别是后者,非常适合网络环境多用户应用的需要。因为在网络环境中若持续保持与数据源的连接,不但效率低下而且占用系统资源也是很大的。常会因多个用户同时访问同一资源而造成冲突。ADO.NET较好地解决了在断开网络连接的情况下正确进行数据处理的问题。,10.1 ADO.NET和数据库通用接口,10.1.2 ADO.NET中的常用对象,10.2 数据库连接对象(Connection),对不同的数据源的类型,使用的Connection对象也不同,ADO.NET中提供了以下4种数据库连接对象用于
3、连接到不同类型的数据源。 1) 要连接到Microsoft SQL Server 7.0或更高版本,应使用SqlConnection对象。 2) 要连接到OLE DB数据源,或连接到Microsoft SQL Server 6.x或更低版本、或连接到Access,应使用OleDbConnection对象。 3) 要连接到ODBC数据源,应使用OdbcConnection对象。 4) 要连接到Oracle数据源,应使用OracleConnection对象。,10.2 数据库连接对象(Connection),10.2.1 创建Connection对象 方式一: Dim 连接对象名 As New S
4、qlConnection(连接字符串) 方式二: Dim 连接对象名 As New SqlConnection 连接对象名.ConnectionString = 连接字符串,10.2 数据库连接对象(Connection),10.2.2 Connection对象的属性和方法 与所有的对象一样Connection对象也有自己的一些属性和方法,其中最为常用的是ConnectionString属性及Open()、Close()方法。 1. Connection对象的属性 Connection对象用来与数据源建立连接,它有一个重要属性ConnectionString,用于设置打开数据库的字符串。Con
5、nection对象的常用属性,见教材表10-1。 2. Connection对象的方法 Connection对象的常用方法,见教材表10-2。其中最常用的是Open和Close方法。,10.2 数据库连接对象(Connection),10.2.3 连接字符串 1. 连接字符串中的常用属性 教材中表10-3列出了数据库连接字符串常用参数及说明。 2. 连接到SQL Server的连接字符串 (1) 标准安全连接 “Data Source=服务器名或IP;Initial Catalog=数据库名;User ID=用户名;Password=密码“ (2) 信任连接(Trusted Connectio
6、n) “Data Source=服务器名或地址;Initial Catalog=数据库名; Trusted_Connection=True“ 或 “Data Source=服务器名或地址;Initial Catalog=数据库名; Integrated Security=True“,10.2 数据库连接对象(Connection),10.2.3 数据库的连接字符串 3. 连接到OLE DB数据源的连接字符串 下列连接字符串使用Jet提供程序连接到一个Microsoft Access数据库。 “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=数据库名;
7、User ID=用户名;Password=密码“ 或: “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=数据库名“,10.2 数据库连接对象(Connection),10.2.3 数据库的连接字符串 4. 连接字符串的存放位置 (1) 将连接字符串存放在代码中 (2) 将连接字符串存放在应用程序配置文件中 在程序中获得app.config文件中存放的连接字符串的方法为: Dim 变量名 As String = ConfigurationManager.ConnectionStrings(连接字符串名),10.3 数据库命令对象(Command),1
8、0.3.1 创建Command对象 根据所用的数据源类型不同,Command对象也分为4种,分别是:OleDbCommand对象、SqlCommand对象、OdbcCommand对象和OracleCommand对象。,10.3 数据库命令对象(Command),10.3.1 创建Command对象 1. 使用构造函数创建Command对象 下面是使用构造函数创建SqlCommand对象,并通过该对象的构造函数参数来设置特定属性值,其语法格式为: Dim 命令对象名 As New SqlCommand(查询字符串, 连接对象名) 也可以先使用构造函数创建一个空Command对象,然后直接设置属性
9、值。 Dim 命令对象名 As New SqlCommand 命令对象名.Connection = 连接对象名 命令对象名.CommandText = 查询字符串,10.3 数据库命令对象(Command),10.3.1 创建Command对象 2. 使用CreateCommand()方法创建Command对象 使用Connection对象的CreateCommand()方法创建SqlCommand对象的语法格式为: Dim 对象名 As SqlCommand = 连接对象名.CreateCommand 对象名.CommandText = 查询字符串,10.3 数据库命令对象(Command)
10、,10.3.2 Command对象的属性和方法 Command对象的常用属性见教材表10-4。 Command对象的方法统称为Execute方法,常用方法及说明见表10-5。,10.4 数据读取对象(DataReader),10.4.1 DataReader对象的常用属性及方法 1) FieldCount属性: 2) HasRows属性: 3) Read()方法: 4) GetValue()方法: 5) GetValues()方法: 6) NextResult()方法: 7) Close()方法:,10.4 数据读取对象(DataReader),10.4.2 使用DataReader对象 使用
11、DataReader对象检索数据库记录通常需要经过以下几个步骤: 1) 建立与数据库的连接。 2) 创建SqlCommand对象。3) 通过调用SqlCommand对象的ExecuteReader()方法创建SqlDataReader对象。4) 使用SqlDataReader的Read()方法逐行读取数据。5) 关闭SqlDataReader对象 通过DataReader对象的Read()方法可以从数据库中读取当前记录,如果希望获取某列的值,可使用下述两种方法: 方法一: Dim 对象名 As SqlDataReader(列的索引值) 方法二: Dim 对象名 As SqlDataReader
12、 (“列名“),10.5 数据适配器对象(DataAdapter),10.5.1 DataAdapter对象概述 DataAdapter对象是一个双向通道,用来把数据从数据源中读到一个内存表中,或把内存中的数据写回到一个数据源中。这两种情况下使用的数据源可能相同,也可能不相同。而这两种操作分别称作填充(Fill)和更新(Update)。DataAdapter对象通过Fill()方法和Update()方法来提供这一桥接器。 DataAdapter对象可以使用Connection对象连接到数据源,并使用Command对象从数据源检索数据或将更改提交回数据源。 如果所连接的是SQL Server数据
13、库,需要通过将SqlDataAdapter与关联的SqlCommand和SqlConnection对象一起使用。 如果连接的是Access数据库或其他类型的数据库,则需要使用OleDbDataAdapter、OdbcDataAdapter或OracleDataAdapter对象。,10.5 数据适配器对象(DataAdapter),10.5.2 DataAdapter和DataTable对象 常用的创建SqlDataAdapter对象的语法格式如下为: Dim 对象名 As New SqlDataAdapter(SqlStr, Conn) 1. DataAdapter对象的常用属性 DataA
14、dapter对象的常用属性见教材表10-7。 2. DataAdapter对象的常用方法 DataAdapter对象的常用方法见教材表10-8。,10.5 数据适配器对象(DataAdapter),10.5.2 DataAdapter和DataTable对象 3. DataTable对象 DataTable对象是内存中一个关系数据库表,可以独立创建也可以由DataAdapter来填充。声明DataTable对象的语法格式为: Dim 对象名 As New DataTable 在实际应用中使用DataTable对象一般需要经过以下几个步骤: 1) 创建数据库连接。 2) 创建Select查询语句
15、或Command对象。 3) 创建DataAdapter对象。 4) 创建DataTable对象。 5) 调用DataAdapter对象的Fill()方法填充DataTable对象。,10.5 数据适配器对象(DataAdapter),10.5.2 DataAdapter和DataTable对象 4. DataTable对象的常用属性 Columns属性:该属性用于获取DataTable对象中表的列集合。 Rows属性:该属性用于获取DataTable对象中表的行集合。 DefaultView属性:该属性用于获取可能包括筛选视图或游标位置的表的自定义视图。,10.6 DataSet,DataS
16、et(数据集)相当于内存中暂时存放的数据库,它不仅可以包括多张数据表,还可以包括数据表之间的关系和约束,这是DataSet与上一节中介绍的DataTable的关键不同。DataSet允许将不同类型的数据表复制到同一个数据集中,甚至还允许数据表与XML文档组合到一起协同操作。 DataSet提供了对数据库的断开操作模式(也称为离线操作模式),当DataSet从数据源获取数据后就断开了与数据源之间的连接。允许在DataSet中定义约束和表关系,添加、删除或编辑记录,还可以对数据集中的数据进行查询、统计等。当完成了各项数据操作后,还可以将DataSet中的数据送回到数据源以更新数据库记录。,10.6 DataSet,10.6.1 DataSet中的对象、属性和方法 1. DataSet中的对象 DataSet由大量相关的数据结构组成,其中最常用的有如下5个子对象,其名称及功能说明见下表。,10.6 DataSet,10.6.1 DataSet中的对象、属性和方法 2. DataSet对象的常用属性 DataSet对象的常用属性,见下表。,10.6 DataSet,10.6.1 DataS