第一课:
ADO.NET介绍
本节将介绍ADO.NET的一些基本概念,您将在后面章节进一步了解它们。通过本节,您将了解ADO.NET,并且理解data
provider,connection对象、command对象、DataReader对象、DataSet对象以及DataAdapter对象。对于没有经验的开发者开说,也许本课某些概念比较抽象,没有关系,我们将会在后续课程中详细展开。
介绍
ADO.NET是一组访问数据源的面向对象的类库。简单的理解,数据源就是数据库,它同时也能够是文本文件、Excel表格或者XML文件。本教程将以SQL
Server 2000 / 2005为示例数据库服务器,Northwind为示例数据库。
Data Providers
我们需要与不同类型的数据源或者数据库交互。然而,并没有这样的一组类库可以达到这个目的,因为各个数据源的协议各不相同,我们需要通过正确的协议来访问数据源。有些比较老的数据源用ODBC协议,其后的一些数据源用OleDb协议,现在,仍然还有许多新的数据源在不断出现。使用ADO.NET类库,你可以直接访问所有的数据源。
ADO.NET提供了访问数据源的公共方法,对于不同的数据源,它采用不同的类库。这些类库称为Data
Providers,并且通常是以数据源的类型以及协议来命名的。表1列出了常见的一些data
providers,以及它们所使用的API前缀和交互的数据源类型。
表1. ADO.NET Data
Providers是一组提供访问指定数据源的基本类库。API的开头字符表明了他们支持的协议。
Provider
|
API 前缀
|
数据源描述
|
ODBC Data Provider
|
Odbc
|
提供ODBC接口的数据源。一般是比较老的数据库。
|
OleDb Data Provider
|
OleDb
|
提供OleDb接口的数据源,比如Access或Excel。
|
Oracle Data Provider
|
Oracle
|
Oracle数据库
|
SQL Data Provider
|
Sql
|
Microsoft SQL Server数据库
|
Borland Data Provider
|
Bdp
|
通用的访问方式能访问许多数据库,比如Interbase、SQL
Server、IBM DB2和Oracle。
|
我们举一个实际的例子来理解表格中的API前缀。在这里你将学习到的第一个ADO.NET对象是连接对象(connection
object),顾名思义,你可以通过它建立与数据源的连接。如果我们使用OleDb
Data
Provider连接一个提供OleDb接口的数据源,那么我们将使用连接对象就是OleDbConnection。同理,如果连接Odbc数据源或者SQL
Server数据源就分别加上Odbc或者Sql前缀,即OdbcConnection或SqlConnection。在本教程里使用的是数据源是SQL
Server,所以你会发现所有的API对象都带有Sql前缀,比如SqlConnection。
ADO.NET对象
ADO.NET里包括了许多专门用于和数据打交道的对象。这一节介绍了一些最常用的对象。这些对象是学习ADO.NET必须了解的。掌握它们后你将了解使用ADO.NET和数据打交道会需要考虑哪些事情。
The SqlConnection Object
要访问一个数据源,你必须先建立一个到它的连接。这个连接里描述了数据库服务器类型、数据库名字、用户名、密码,和连接数据库所需要的其它参数。command对象通过使用connection对象来知道是在哪个数据库上面执行SQL命令。
The SqlCommand Object
连接数据库后就可以开始想要执行的数据库操作,这个是通过command对象完成,command对象一般被用来发送SQL语句给数据库。command对象通过connection对象得知道应该与哪个数据库进行连接。我们既可以用command对象来直接执行SQL命令,也可以将一个command对象的引用传递给SqlDataAdapter,SqlDataAdapter能包含一系列的command对象,可以处理大量数据,请见下面描述。
The SqlDataReader Object
根据经验,许多数据库操作要求我们仅仅只是需要读取一组数据。这时候就用到了data
reader对象。通过data
reader对象,我们可以获得从command对象的SELECT语句得到的结果。考虑到性能方面的因素,data
reader返回的数据流被设计为只读的、单向的,这将意味着你只能按照一定的顺序从数据流中取出数据。虽然你在这里也获得了性能上的提升,但是缺点也是明显的,不能够操作取回数据,如果需要操作编辑数据,解决的办法是使用DataSet。
The DataSet Object
DataSet对象用于表示那些储存在内存中的数据。它包括多个DataTable对象,DataTable就象一个普通的数据库中的表一样,也有行和列,我们甚至能够通过定义表和表之间的关系来创建从属关系。DataSet主要用于管理存储在内存中的数据以及对数据的断开操作。注意,由于DataSet对象能被所有Data
Providers使用,它不需要指定前缀。
The SqlDataAdapter Object
某些时候我们只需要读数据,并且你不需要修改它们把更改写回数据源。但是还有这样一些情况为了减少数据库调用的次数,我们把数据缓存在内存中。Data
adapter通过断开模型来轻松的实现了后面这种情况的处理。当批量完成的对数据库的读写操作的并将改变写回数据库的时候,data
adapter 会填充(fill)DataSet对象。data
adapter里包含了connection对象,当对数据源进行读取或者写入的时候,data
adapter会自动的打开或者关闭连接。此外,data
adapter还包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。如果我们为DataSet中的每一个table都指定data
adapter,它将会帮你处理好所有与连接处理数据库的操作,我们所需要做的仅仅就是告诉data
adapter什么时候读取或者写入到数据库。
总结
ADO.NET是用于和数据源打交道的.NET技术。它包含了许多的Data
Providers,分别用于访问不同的数据源――取决于它们所使用的数据库或者协议。然而无论使用什么样的Data
Provider,与数据源进行交互的的对象的使用方法都是相似的。SqlConnection对象用于管理与数据源的连接。SqlCommand对象可以向数据源发送SQL命令。SqlDataReader可以快速的从数据源获得只读的,向前的数据流。使用DataSet可以处理那些已经断开的数据(储存在内存中的),并通过SqlDataAdapter实现数据源的读取和写入。
这仅仅只是本系列ADO.NET指南中的开始。对于没有经验的开发者开说,也许本课某些概念比较抽象,没有关系,我们将会在后续课程中详细展开。我们将在下一课里深入学习
分享到:
相关推荐
《ADO.NET 4从入门到精通》是microsoft ADO.NET 4的入门教程,旨在帮助visual basic和c#开发人员了解ADO.NET及相关技术的核心概念。在《ADO.NET 4从入门到精通》的五大部分内容中,分别重点介绍了ADO.NET系统的不同...
ADO.net入门简介 ADO.net 对象模型 .Net数据提供程序
ADO.NET入门教程 适合初级入门,希望对大家有所帮助!
ado.net官方教程,英语版的,对学习ado.net很有帮助,
ADO.NET官方教程
本课程介绍ADO.NET技术的基本概念,并结合实际开发,重点介绍DataSet对象和DataGrid控件的使用,使初学者也可以轻松完成报表、产品列表、查询结果显示、导航菜单等功能。 1.视频讲课2.教程3.源码4.Q&A
ADO.NET 实例教程和代码下载 ADO.NET 实例教程和代码下载 ADO.NET 实例教程和代码下载
ADO.NET 4从入门到精通源代码 里面有 未完成的和已完成的 源代码示例
ADO.NET教程,页面形式的,讲的很详细,非常适合新手
ADO.NET 教程 ------------ 1. ADO.NET架构介绍 2. 如何使用ADO.NET存取数据 3. ADO.NET的离线数据操作 4. XML与ADO.NET
NET c# ADO.NET入门学习 NET c# ADO.NET入门学习
用事实说话,根据事例来讲解ADO.net
Pro ADO.NET Data Services: Working with RESTful Data Paperback: 336 pages Publisher: Apress; 1 edition (December 2, 2008) Language: English ISBN-10: 143021614X ISBN-13: 978-1430216148 Format: PDF You...
本资源主要简介ADO精简入门类及其用法,希望对初学者有帮助!
不错的课件,和大家分享一下。。商业应用程序需要管理大量数据...ADO.NET 是 .NET 应用程序用来与数据库通讯的模型,用于检索、访问和更新数据。本模块将向想要在行业中作为数据库应用程序开发人员的学生提供必要的技能
ADO.net快速入门与精通ado.net 入门 图解 精通 数据库 编程 可以说看了第一篇,你就已经入门了。动画图解,这都不明白,就无语了
ADO.Net助手是一个获取ADO.Net连接字符串(支持Access,SQLite,SQLServer,MySQL和ORACLE),测试SQL命令,存储过程和数据库之间互导数据的辅助软件。ADO.Net助手还可以用来以插入SQL语句形式导出导入记录,目前提供了...
ADO.NET概述视频教程 非常好的ADO.NET入门教程
ASP.NEt ADO.NET 入门代码
ADO.NET的PPT教程,上培训班时老师的课件,希望对大家有所帮助