第一课 ADO.NET简介(翻译)

来源:互联网 发布:淘宝如何申请延期收货 编辑:程序博客网 时间:2024/05/21 21:40

本文档由李欣蔚(nirvana_li)翻译自http://www.csharp-station.com/,转载请注名出处!
更新日期2006-2-14

Lesson 01: Introduction to ADO.NET

  • 了解什么是ADO.NET
  • 理解什么是data provider
  • 理解什么是connection对象
  • 理解什么是command对象
  • 理解什么是DataReader对象
  • 理解什么是DataSet对象
  • 理解什么是DataAdapter对象

Introduction

ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。因为本指南的需要,我们将ADO.NET当作是一种于数据库的交互方式。

     你可能已经注意到有许多不同类型的数据库可供使用。比如:Microsoft SQL Server, Microsoft Access, Oracle, Borland InterbaseIBM DB2等。本指南的所有例子都将使用SQL Server

从这里可以下载得到Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

http://www.microsoft.com/sql/msde/downloads/download.asp

    

MSDE包含了指导如何安装的文档。然而,为了更加方便,下面是如何安装MSDE的快速说明:

http://www.asp.net/msde/default.aspx?tabindex=0&tabid=1

http://www.microsoft.com/sql/msde/


MSDE 2000SQL Server的缩微版。因此,本指南中所有的内容和代码都是和SQL Sever有关的。实例将会使用Northwind数据库。这是对ADO.NET的特殊化的指南。MSDE并不是ADO.NET的一部分,但却是使用与ADO.NET的数据源中的一种。如果需要MSDE 2000的帮助,可以在Microsoft站点早到合适的关于许可以及技术支持的信息:


数据提供程序

    

ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NETADO.NET类库来进行连接。


ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。表1列处了一些常见的data providers,以及它们所使用的API前缀,和允许进行交互的数据源类型。


1.  ADO.NET Data Providers 是允许与特殊数据库或者协议采用公共方式进行交互的一组类库。类库的API前缀说明了它支持的provider

Provider

API 前缀

Data Source 描述

ODBC Data Provider

Odbc

使用ODBC接口的数据源,通常是老式数据源

OleDb Data Provider

OleDb

提供OleDb接口的数据源,比如Acess或者Excel

Oracle Data Provider

Oracle

用于Oracle数据库

SQL Data Provider

Sql

用于Microsoft SQL Server.

Borland Data Provider

Bdp

许多数据库的公共存取方式,比如Interbase, SQL Server, IBM DB2, and Oracle.

 

一个实例可以帮助你了解API前缀的意义。在最开始你将学习到第一个ADO.NET对象是连接对象(connection object),它允许你建立与数据源的连接。如果我们使用OleDb数据提供器连接一个暴露OleDb接口的数据源,那么我们将使用OleDbConnection。同样,连接对象的名字也会根据它连接Odbc数据源还是SQL Server数据源而分别加上Odbc或者Sql前缀,即OdbcConnectionSqlConnection。因为我们在本指南中使用的是MSDE(一个缩微版的SQL Server),所以所有的API对象都会由Sql前缀,即SqlConnection

ADO.NET对象

ADO.NET包括许多你用来和数据打交道的对象。这一节介绍了一些你将使用的主要对象。本指南结束后,你将会在专门的课程中学习到更多的ADO.NET对象。下面的对象是必须了解的。学习它们能够在使用ADO.NET的时候让你了解和数据打交道会考虑哪些事情。

SqlConnection 对象

和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。

SqlCommand 对象

与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。

sqlDataReader对象

许多数据操作要求你只是读取一串数据。data reader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从data reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet

DataSet对象

DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。

SqlDataAdapter对象

某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data adapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data adapter 填充(fillDataSet对象。data adapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,data adapter包含对数据的SELECT,INSERT,UPDATEDELETE操作的command对象引用。你将为DataSet中的每一个table都定义data adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉data adapter什么时候装载或者写入到数据库。

总结

ADO.NET是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter

这只是开始――在ADO.NET指南中的第一部分的课程。这一系列的下一讲是Lesson 02:  SqlConnection 对象


 

 

原创粉丝点击