ADO.NET简介

转载 2006年06月03日 20:06:00

ADO.NET包括以下几个命名空间:

  • System.Data.SqlClient— Contains classes for connecting to Microsoft SQL Server version 7.0 or higher

  • System.Data.OleDb— Contains classes for connecting to a data source that has an OLE DB provider

  • System.Data.Odbc— Contains classes for connecting to a data source that has an ODBC driver

  • System.Data.OracleClient— Contains classes for connecting to an Oracle database server

 

NOTE

It is expected that additional data provider-specific namespaces will be released over time. Microsoft has already released a separate set of classes for working with Microsoft SQL Server in the Compact Framework, and a separate set of classes for working with XML generated from SQL Server 2000. For more information on these additional namespaces, see the msdn.microsoft.com Web site.

Oracle has also released their own namespace for working with Oracle databases. You can download the Oracle provider for .NET (ODP.NET) from the Oracle Web site.

 

Why did Microsoft duplicate these classes, creating different versions for different types of databases? By creating separate sets of classes, Microsoft was able to optimize the classes.

For example, the OleDb classes use OLE DB providers to connect to a database. The SQL classes, on the other hand, communicate with Microsoft SQL Server directly on the level of the Tabular Data Stream (TDS) protocol. TDS is the low-level proprietary protocol used by SQL Server to handle client and server communication. By bypassing OLE DB and ODBC and working directly with TDS, you get dramatic performance benefits.

NOTE

You can use the classes from the System.Data.OleDb namespace with Microsoft SQL Server. You might want to do so if you want your ASP.NET page to be compatible with any database. For example, you might want your page to work with both Microsoft SQL Server and Oracle. However, you lose all the speed advantages of the SQL- and Oracle-specific classes if you use the System.Data.OleDb namespace.

 

There are several ways you can create a new parameter and associate it with a Command. For example, the following two statements create and add a new parameter to the SqlCommand object:

 
cmdSelect.Parameters.Add( "@firstname", "Fred" )
cmdSelect.Parameters.Add( New SqlParameter( "@firstname", "Fred" ) )

These two statements are completely equivalent. Both statements create a new SqlParameter with the name @firstname and the value Fred and add the new parameter to the parameters collection of the SqlCommand object.

Notice that we do not specify the SQL data type of the parameter in the case of either statement. If you don't specify the data type, it is automatically inferred from the value assigned to the parameter. For example, since the value Fred is a String, the SQL data type NVarchar is inferred. In the case of an OleDbParameter, the data type VarWChar would be automatically inferred. 

In some cases, you'll want to explicitly specify the data type of a parameter. For example, you might want to explicitly create a Varchar parameter instead of an NVarchar parameter. To do this, you can use the following statement:

 
cmdSelect.Parameters.Add( "@lname", SqlDbType.Varchar ).Value = "Johnson"

This statement specifies the SQL data type of the parameter by using a value from the SqlDbType enumeration. The SqlDbType enumeration is located in the System.Data namespace. Each of its values corresponds to a SQL data type.

In the case of an OleDbParameter, you would use a value from the OleDbType enumeration like this:

 
cmdSelect.Parameters.Add( "@lname", OleDbType.Varchar ).Value = "Johnson"

The OleDbType enumeration can be found in the System.Data.OleDb namespace.

Finally, you can specify the maximum size of a database parameter by using the following statement:

 
cmdSelect.Parameters.Add( "@lname", SqlDbType.Varchar, 15 ).Value = "Johnson"

This statement creates a parameter named @lname with a column size of 15 characters.

If you don't explicitly specify the maximum size of a parameter, the size is automatically inferred from the value assigned to the parameter.

【Ado.Net】基础知识+简单实例

为什么要学Ado.Net?  作为程序员,我们一般都可以在Sql Server 的查询分析器里面查看和操作数据库中的数据。但是普通的用户如果要查看和操作数据库中的数据,在查询分析器里面就不会了,我们不...
  • Gnd15732625435
  • Gnd15732625435
  • 2017年02月04日 21:59
  • 348

c++使用ADO和C#使用ADO.net

#include      #include   #include time.h>   #include   using   namespace   std;     #im...
  • Q_Q1111
  • Q_Q1111
  • 2014年10月09日 09:44
  • 154

C++ 通过ADO.Net实现与MySql数据库连接 入门教程

C++ 通过ADO.Net实现与MySql数据库连接 入门教程前言
  • u013978977
  • u013978977
  • 2016年07月15日 17:15
  • 589

ADO和ADO.NET的区别

ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、 数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如 SQL S...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2014年04月30日 10:11
  • 4133

ADO.NET 之核心组成对象

引言:在当今数据信息丰富的时代,计算机领域中使用数据库来存储信息和访问信息,但是本身数据库种类有很多,例如SQL Server,Oracle,Access,MySql等,因此,如何能更加高效、更加...
  • u013067402
  • u013067402
  • 2015年05月17日 16:54
  • 1339

一个简单的ADO.NET C# 数据库操作实例

本篇文章以 ADO.NET 访问SQL SERVER 数据库为例,介绍一下ADO.NET C# 对数据库的操作语法。连接其他数据库时,可能语法上稍微有一点点差别,但步骤与SQL SERVER 想类似。...
  • shuai_wy
  • shuai_wy
  • 2017年07月12日 16:38
  • 1435

两种数据访问方式:从ADO 到ADO.NET

电脑最大的好处就是可以帮助人处理大量数据,由此离不开对数据库的访问,先看看最近在做ASP.NET例子的时候经常用到的ADO.NET的数据库访问方式。...
  • u010927640
  • u010927640
  • 2016年03月13日 17:17
  • 3168

ADO.NET操作数据库(四)

主要内容: 连接查询、左表、右表、内连接、外连接、笛卡尔积、on子句数据筛选、自连接、存储过程、连接查询、模糊查询、视图、T-SQL编程、全局变量、局部变量、事务、系统存储过程、用户自定义存储过程、a...
  • chenrushui
  • chenrushui
  • 2016年11月09日 19:45
  • 1630

C# ADO.Net事务处理

SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多...
  • miniduhua
  • miniduhua
  • 2016年10月21日 14:23
  • 3258

ADO.net入门(三):送上礼物讨欢喜

成功连接到数据库,意味着用户到数据库是一条平坦的大桥,就可以发送自己的意愿,要求数据库返回相应的结果。 于是,第二步就是向数据库发出自己的意愿和礼物。 可以发送...
  • u014366427
  • u014366427
  • 2014年03月26日 11:04
  • 543
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.NET简介
举报原因:
原因补充:

(最多只允许输入30个字)