ADOnET数据库编程(vb版).ppt
《ADOnET数据库编程(vb版).ppt》由会员分享,可在线阅读,更多相关《ADOnET数据库编程(vb版).ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第12章章 数据库应用的结构与开发环境数据库应用的结构与开发环境 n数据库应用开发概述数据库应用开发概述 n微软数据访问技术的发展历程微软数据访问技术的发展历程 n用用ADO.NET访问数据库访问数据库21 数据库应用开发概述数据库应用开发概述 客户端中间层/中间件数据库32 微软数据访问技术的发展历程微软数据访问技术的发展历程nODBCnODBC的基本概念的基本概念 nODBC的构成的构成 nOLE DBnADOnADO.NET42.1 ODBC概述概述nODBC(Open DataBase Connectivity)的全称是开放数据库互连。通过使用ODBC技术可以访问不同类型的关系数据
2、库。nODBC提出的背景 ODBC技术主要目的是提供一个对数据源的统一访问接口,而不是针对每一种数据库专门编写相应的访问模块。使用ODBC开发DBAP时,应用程序调用的是标准的ODBC函数和SQL语句,数据库的底层操作由各个数据库的驱动程序完成。这样就使DBAP具有很好的适应性和可移植性,并且具备同时访问多种DBMS的能力。5ODBC体系结构体系结构ODBC函数完成哪些工作?函数完成哪些工作?n请求对数据源的连接,获取连接句柄;请求对数据源的连接,获取连接句柄;n指定事务控制方式;指定事务控制方式;n定义接收结果的数据区;定义接收结果的数据区;n向数据源发送向数据源发送SQL语句;语句;n接收
3、接收SQL的查询结果;的查询结果;n处理出错信息,并将出错信息返回给应用程序;处理出错信息,并将出错信息返回给应用程序;n终止对数据源的连接。终止对数据源的连接。驱动程序管理器的工作驱动程序管理器的工作n安装指定的驱动程序;安装指定的驱动程序;n定定义义数数据据源源,并并把把数数据据源源映映射射到到具具体体的的ODBC驱动程序上驱动程序上;n为为每每个个驱驱动动程程序序提提供供ODBC函函数数的的入入口口点;点;n为为ODBC调用提供参数验证等。调用提供参数验证等。ODBC驱动程序的具体任务驱动程序的具体任务n建立与数据源的连接;建立与数据源的连接;n向数据源提交向数据源提交SQL请求;请求;
4、n处理查询结果;处理查询结果;n将将数数据据源源错错误误转转换换为为标标准准错错误误代代码码,并并返返回回给给应用程序;应用程序;n提交事务的开始请求、完成请求和撤消请求等。提交事务的开始请求、完成请求和撤消请求等。9举例举例n配置配置ODBC数据源数据源102.2 ADO.NETnADO.NET是在.net中结合数据库的规范。nADO.NET是微软为解决Web和分布式应用程序的问题而设计的,是ADO的后续技术。nADO.NET是在.net framework平台上以托管代码建立的,具有托管代码的类型安全、内存管理等特点,更健壮。n可以使用 ADO.NET 的两个组件来访问和处理数据:n.NE
5、T Framework 数据提供程序(.net data provider)nDataSet.NET Framework 数据提供程序数据提供程序n.NET Framework 数据提供程序是专门为数据处数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件理以及快速地只进、只读访问数据而设计的组件n四个核心对象:四个核心对象:nConnection 对象提供与数据源的连接。对象提供与数据源的连接。nCommand 对象使您能够访问用于返回数据、修改数对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库据、运行存储过程以及发送或检索参数信息的数据库命
6、令。命令。nDataReader 从数据源中提供高性能的数据流。从数据源中提供高性能的数据流。nDataAdapter 提供连接提供连接 DataSet 对象和数据源的桥梁对象和数据源的桥梁n另外还有:另外还有:DataSet,DataView对象。对象。1112命名空间命名空间nSystem.Data:nSystem.Data.SqlClient:专为sql server 而设的命名空间,可在sql server 数据库进行处理操作。13nnXxxConnectionXxxConnectionnnSqlConnectionSqlConnectionnnOleDbConnectionOleDb
7、ConnectionnnXxxCommandXxxCommandnnSqlCommandSqlCommandnnOleDbCommandOleDbCommand数据供应商命名空间SQL Server.NET Provider System.Data.SqlClientOLE DB.NET ProviderSystem.Data.OleDbnnXxxDataReaderXxxDataReadernnSqlDataReaderSqlDataReader,OleDbDataReaderOleDbDataReadernnXxxDataAdapterXxxDataAdapternnSqlDataAdap
8、terSqlDataAdapternnOldDbDataAdapterOldDbDataAdapter.NET Framework 数据提供程序的核心类数据提供程序的核心类DataSetnADO.NET DataSet 专门为独立于任何数据源的专门为独立于任何数据源的数据访问而设计。因此,它可以用于多种不同的数据访问而设计。因此,它可以用于多种不同的数据源,用于数据源,用于 XML 数据,或用于管理应用程序数据,或用于管理应用程序本地的数据。本地的数据。nDataSet 包含一个或多个包含一个或多个 DataTable 对象的集合,对象的集合,这些对象由数据行和数据列以及有关这些对象由数据行和
9、数据列以及有关 DataTable 对象中数据的主键、外键、约束和关系信息组成。对象中数据的主键、外键、约束和关系信息组成。14数据库数据库常用ADO.NET对象 ConnectionCommandDataReaderDataAdapter管理到特定数据源的连接管理到特定数据源的连接 从数据源中执行命令从数据源中执行命令 将数据保存在与数据库分开的缓存中将数据保存在与数据库分开的缓存中提供了对只读数据的高效访问提供了对只读数据的高效访问在数据库和数据集之间交换数据在数据库和数据集之间交换数据Command16ADO.NET组件结构模型1说明说明.NET Framework 数据提供程序与数据提
10、供程序与 DataSet 之间的关系之间的关系ADO.NET组件结构模型2n.NET数据访问对象模型基于两个基础对象:数据访问对象模型基于两个基础对象:nDataReader:对数据进行向前和只读访问;:对数据进行向前和只读访问;nDataSet:从同一个数据源中保存多个表以及它们:从同一个数据源中保存多个表以及它们之间的关系。之间的关系。ADO.NET组件结构模型2非连接环境非连接环境连接环境连接环境3 用用ADO.NET访问数据库访问数据库 案例使用语言nVisual Studio 2005 简介简介n数据库编程的一般步骤数据库编程的一般步骤n连接环境下的数据访问(连接环境下的数据访问(D
11、ataRead)n非连接环境下的数据访问(非连接环境下的数据访问(DataSet)3.1 Visual Studio 2005 简介简介n演示演示3.2 数据库编程的一般步骤数据库编程的一般步骤n连接环境连接环境n非连接环境非连接环境22(1)连接环境下的步骤 DataReader对象n使用Connection对象创建数据连接n使用Command对象对数据源执行SQL命令并返回结果n使用DataReader对象读取数据源n和控件结合使用,达到可视化效果n关闭DataReader对象n断开和数据库服务器的连接(2)非连接的环境下的步骤 DataSet对象n使用Connection对象创建数据连接
12、n使用DataAdapter对象对数据源执行SQL命令并返回结果(本质是通过command对象执行SQL命令并返回结果)。n使用DataSet对象读取数据源。n和控件结合使用,达到可视化效果n断开和数据库服务器的连接24连接到数据库连接到数据库 请求特定的数据请求特定的数据 返回数据返回数据 更新传回到数据库更新传回到数据库显示和修显示和修改数据改数据数据库数据库 关闭连接关闭连接 在许多应用程序中,用户访问数据后连接即在许多应用程序中,用户访问数据后连接即关闭,在用户再次访问数据库时连接再重新打开关闭,在用户再次访问数据库时连接再重新打开253.3 连接环境下的数据访问 DataReader
13、对象n在连接环境中,用户可以持续地连接到数据源n优点:n更安全,更易维护 n更容易控制并发访问n与非连接环境相比,数据刷新更及时 n缺点:n必须有固定的数据库连接 n扩展性不强 263.3 连接环境下的数据访问 DataReader对象SQL Server 2005 在连接的环境中,资源存储在连接的环境中,资源存储在连接的环境中,资源存储在连接的环境中,资源存储在服务器上,直到断开连接在服务器上,直到断开连接在服务器上,直到断开连接在服务器上,直到断开连接SqlConnectionSqlCommandSqlDataReader273.3.1 Connection对象n使用数据之前,必须首先使用
14、Connection对象建立数据库服务器与应用程序之间的连接通讯。n建立连接时需要指定:n服务器类型n数据源(服务器名字、数据库名字)n安全信息(登录的帐户名、密码)n使用Connection类的 ConnectionString 属性指定这些信息。实例实例1:连接:连接SQL Server数据库数据库 SQL 授权用户授权用户 导入命名空间Imports System.Data 创建连接对象Dim sqlconn As New SqlConnection()设置ConnectionString属性sqlconn.ConnectionString=Data Source=(local);Ini
15、tial Catalog=订货管理;User ID=sa;Password=123;“打开连接sqlconn.open()关闭连接Sqlconn.close()DataSource:服务器名称服务器名称Initial Catalog:数据库名称数据库名称User ID:SQL Server帐户名称帐户名称Password:SQL Server帐户口令帐户口令SQL授权用户授权用户实例1:连接SQL Server数据库 Windows授权用户 导入命名空间Imports System.Data 创建连接对象Dim sqlconn As New SqlConnection()设置Connectio
16、nString属性sqlconn.ConnectionString=Data Source=(local);Initial Catalog=订货管理;Integrated Security=True;“打开连接sqlconn.open()关闭连接Sqlconn.close()DataSource:服务器名称服务器名称Initial Catalog:数据库名称数据库名称Integrated Security:是否为:是否为windows授权用户授权用户Windows授权用户授权用户3.3.1 Connection对象属性描述ConnectionString获取或设置用来打开数据库的连接字符串Co
17、nnection 类的基本属性类的基本属性3.3.1 Connection对象方法描述Open()使用ConnectionString 属性中的信息,建立一个和数据库服务器的连接Close()断开和数据库服务器的连接注意:断开和服务器的连接很重要,否则会一直占用资源。Connection类的基本方法类的基本方法 导入命名空间导入命名空间Imports System.DataImports Dim sqlconn As New SqlConnection()sql模式模式 sqlconn.ConnectionString=Data Source=(local);Initial Catalog=订
18、货管理订货管理;User ID=sa;Password=Db2005;windows 集成模式集成模式 sqlconn.ConnectionString=Data Source=(local);Initial Catalog=订货管理订货管理;Integrated Security=True;捕获异常捕获异常 Try sqlconn.Open()打开连接打开连接 MessageBox.Show(连接成功连接成功)Catch ex As SqlException 处理异常处理异常 MessageBox.Show(ex.Message)Finally sqlconn.Close()End Try带
19、有异常处理的完整实例带有异常处理的完整实例3.3.2 Command对象n在已经打开的在已经打开的Connection对象上执行对象上执行SQL语句、语句、存储过程。存储过程。实例实例2Form2 导入命名空间导入命名空间Imports System.Data 创建连接对象创建连接对象Dim sqlconn As New SqlConnection()设置设置ConnectionString属性属性sqlconn.ConnectionString=Data Source=(local);Initial Catalog=订货管理订货管理;Integrated Security=True;“定义定
20、义sql语句语句Dim sqlStr As String=insert into 订购单订购单 values(E1,S4,OR63,2007/6/2)“创建创建sqlcomm对象对象Dim sqlcomm As new SQLCommand()sqlcomm.Connection=sqlconnsqlcomm.CommandText=sqlStrsqlconn.open()打开连接打开连接sqlcomm.ExecuteNonQuery()执行执行SQL语句语句MessageBox.Show(插入成功插入成功)Sqlconn.close()关闭连接关闭连接3.3.2 Command对象属性描述C
21、onnection获取或设置获取或设置Command对象所要使用的数据对象所要使用的数据连接连接CommandText获取或设置欲对数据源执行的获取或设置欲对数据源执行的SQL命令命令 CommandType获取或设置如何解释获取或设置如何解释CommandText属性代属性代表的意义。表的意义。StoredProcedure,TableDirect,Text,默认为默认为Text。Command 类的基本属性类的基本属性3.3.2 Command对象方法描述ExecuteNonQuery()执行执行CommandText属性指定的内容,并返属性指定的内容,并返回被影响的行数。回被影响的行数。
22、ExecuteReader()执行执行CommandText属性指定的内容,并创属性指定的内容,并创建建SqlDataReader对象。对象。Command 类的基本方法类的基本方法实例实例3 与控件结合与控件结合Form3 导入命名空间Imports System.Data 创建连接对象Dim sqlconn As New SqlConnection()设置ConnectionString属性sqlconn.ConnectionString=Data Source=(local);Initial Catalog=订货管理;Integrated Security=True;“定义sql语句Di
23、m sqlStr As String 创建sqlcomm对象Dim sqlcomm As new SQLCommand()Dim eId,sId,orId,orDate As String eId=T1.Text sId=T2.Text orId=T3.Text orDate=T4.Text sqlStr=insert into 订购单订购单 values(+eId+,+sId+,+orId+,+orDate+)sqlcomm.Connection=sqlconnsqlcomm.CommandText=sqlStrMessageBox.Show(sqlStr)sqlconn.open()打开连
24、接sqlcomm.ExecuteNonQuery()执行SQL语句MessageBox.Show(插入成功)Sqlconn.close()关闭连接说明:注意说明:注意sql语句符号问题语句符号问题思考思考n如何进行修改和删除操作?如何进行修改和删除操作?思考思考n进行查询操作时,进行查询操作时,Command执行完执行完ExecuteReader()方法后,查询结果如何存放?方法后,查询结果如何存放?3.3.3 DataRead对象nDataReader对象是用来读取数据源最简单的方式对象是用来读取数据源最简单的方式n只能读取数据,不能写入数据n将数据源将数据源从头到尾依次读出,无法只读取某条
25、数据。,无法只读取某条数据。nDataReader则在比较传统的则在比较传统的连接模式下工作。下工作。n在数据访问在数据访问速度方面方面优于DataSet对象对象3.3.3 DataRead对象n使用使用DataReader对象读取数据库的步骤(连接环境)对象读取数据库的步骤(连接环境)n使用使用Connection对象创建数据连接对象创建数据连接n使用使用Command对象对数据源执行对象对数据源执行SQL命令并返回结果命令并返回结果n使用使用DataReader对象读取数据源对象读取数据源n和控件结合使用,达到可视化效果和控件结合使用,达到可视化效果n关闭关闭DataReader对象对象n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADOnET 数据库 编程 vb
限制150内