您的位置:首页 > 编程语言 > ASP

ASP.NET连接SQL、Access、Excel数据库(一)——什么是ADO.NET

2012-04-23 14:08 846 查看
源代码:13033480群共享

一、什么是ADO.NET

ADO.NET 是一组类,这些类由.NET Framework提供,所以又叫.NET Framework 数据提供程序。安装.NET Framework时会安装这些类, 位于 System.Data.dll 中。

.NET Framework数据提供程序(ADO.NET)主要包括SQL Server .NET Framework 数据提供程序、OLE DB .NET Framework 数据提供程序、

ODBC .NET Framework 数据提供程序和Oracle .NET Framework 数据提供程序

.NET Framework数据提供程序

说明

SQL Server .NET Framework 数据提供程序

命名空间:System.Data.SqlClient

主要用于访问SQL数据库。

OLE DB .NET Framework 数据提供程序

命名空间:
System.Data.OleDb 。

通过 COM Interop 使用本机 OLE DB 启用数据访问,驱动程序有SQLOLEDB、MSDAORA和Microsoft.Jet.OLEDB.4.0

主要用于访问Access数据库,也可以用来访问SQL数据库。

ODBC .NET Framework 数据提供程序

命名空间:System.Data.Odbc

使用本机 ODBC 驱动程序管理器 (DM) 启用数据访问,驱动程序有SQL Server、Microsoft ODBC for Oracle和Microsoft Access 驱动程序 (*.mdb)

主要用于访问Excel数据库。

Oracle .NET Framework 数据提供程序

命名空间:System.Data.OracleClient

主要用于访问Oracle数据库

.NET Framework 数据提供程序主要有四个核心对象。

对象

说明

Connection

建立与特定数据源的连接。所有 Connection 对象的基类均为DbConnection 类。

Command

对数据源执行命令。公开 Parameters,并且可以通过 Connection 在 Transaction 的范围内执行。所有 Command 对象的基类均为DbCommand
类。

DataReader

从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为DbDataReader 类。

DataAdapter

用数据源填充 DataSet 并解析更新。所有 DataAdapter 对象的基类均为DbDataAdapter 类。

除上表列出的核心类之外,.NET Framework 数据提供程序还包含下表列出的类。

对象

说明

Transaction

使您能够在数据源的事务中登记命令。所有 Transaction 对象的基类均为DbTransaction 类。

CommandBuilder

帮助器对象将自动生成 DataAdapter 的命令属性或将从存储过程派生参数信息并填充 Command 对象的 Parameters 集合。所有 CommandBuilder 对象的基类均为DbCommandBuilder
类。

ConnectionStringBuilder

帮助器对象为创建和管理 Connection 对象所使用的连接字符串的内容提供了一种简单的方法。所有 ConnectionStringBuilder 对象的基类均为DbConnectionStringBuilder
类。

参数

定义命令和存储过程的输入、输出和返回值参数。所有 Parameter 对象的基类均为DbParameter 类。

Exception

在数据源中遇到错误时返回。对于在客户端遇到的错误,.NET Framework 数据提供程序会引发 .NET Framework 异常。所有 Exception 对象的基类均为DbException
类。

Error

公开数据源返回的警告或错误中的信息。

ClientPermission

为 .NET Framework 数据提供程序代码访问安全属性而提供。所有 ClientPermission 对象的基类均为DBDataPermission
类。

二、山寨一个ADO.NET

1、添加一个类库Data。

2、设置类库的程序集名称NetShop.Data。

3、类库Data中添加类Data.cs,代码如下:

namespace NetShop.Data

{

namespace SqlClient

{

public
class SqlConnection

{

public
string Information = "NetShop.Data.SqlClient.SqlConnection";

}

public
class SqlCommand

{

public
string Information = "NetShop.Data.SqlClient.SqlCommand";

}

public
class SqlDataReader

{

public
string Information = "NetShop.Data.SqlClient.SqlDataReader";

}

public
class SqlDataAdapter

{

public
string Information = "NetShop.Data.SqlClient.SqlDataAdapter";

}

}

namespace OleDb

{

public
class OleDbConnection

{

public
string Information = "NetShop.Data.OleDb.OleDbConnection";

}

public
class OleDbCommand

{

public
string Information = "NetShop.Data.OleDb.OleDbCommand";

}

public
class OleDbDataReader

{

public
string Information = "NetShop.Data.OleDb.OleDbDataReader";

}

public
class OleDbDataAdapter

{

public
string Information = "NetShop.Data.OleDb.OleDbDataAdapter";

}

}

namespace Odbc

{

public
class OdbcConnection

{

public
string Information = "NetShop.Data.Odbc.OdbcConnection";

}

public
class OdbcCommand

{

public
string Information = "NetShop.Data.Odbc.OdbcCommand";

}

public
class OdbcDataReader

{

public
string Information = "NetShop.Data.Odbc.OdbcDataReader";

}

public
class OdbcDataAdapter

{

public
string Information = "NetShop.Data.Odbc.OdbcDataAdapter";

}

}

namespace Oracle

{

public
class OracleConnection

{

public
string Information = "NetShop.Data.Oracle.OracleConnection";

}

public
class OracleCommand

{

public
string Information = "NetShop.Data.Oracle.OracleCommand";

}

public
class OracleDataReader

{

public
string Information = "NetShop.Data.Oracle.OracleDataReader";

}

public
class OracleDataAdapter

{

public
string Information = "NetShop.Data.Oracle.OracleDataAdapter";

}

}

}

4、网站Web添加引用→项目→NetShop.Data。

5、Default.aspx.cs中添加如下代码:

using System;

using NetShop.Data.SqlClient;

using NetShop.Data.OleDb;

using NetShop.Data.Odbc;

using NetShop.Data.Oracle;

public partialclass
_Default : System.Web.UI.Page

{

protected
void Page_Load(object sender,
EventArgs e)

{

Response.Write("SQLServer.NET数据提供程序核心类有4个,分别是:</br>");

SQLServer();

Response.Write("OleDb.NET数据提供程序核心类有4个,分别是:</br>");

OleDb();

Response.Write("Odbc.NET数据提供程序核心类有4个,分别是:</br>");

Odbc();

Response.Write("Oracle.NET数据提供程序核心类有4个,分别是:</br>");

Oracle();

}

void SQLServer()

{

SqlConnection conn =
new SqlConnection();

SqlCommand cmd =
new SqlCommand();

SqlDataReader rdr =
new SqlDataReader();

SqlDataAdapter da =
new SqlDataAdapter();

Response.Write(conn.Information +
"</br>");

Response.Write(cmd.Information +
"</br>");

Response.Write(rdr.Information +
"</br>");

Response.Write(da.Information +
"</br></br>");

}

void OleDb()

{

OleDbConnection conn =
new OleDbConnection();

OleDbCommand cmd =
new OleDbCommand();

OleDbDataReader rdr =
new OleDbDataReader();

OleDbDataAdapter da =
new OleDbDataAdapter();

Response.Write(conn.Information +
"</br>");

Response.Write(cmd.Information +
"</br>");

Response.Write(rdr.Information +
"</br>");

Response.Write(da.Information +
"</br></br>");

}

void Odbc()

{

OdbcConnection conn =
new OdbcConnection();

OdbcCommand cmd =
new OdbcCommand();

OdbcDataReader rdr =
new OdbcDataReader();

OdbcDataAdapter da =
new OdbcDataAdapter();

Response.Write(conn.Information +
"</br>");

Response.Write(cmd.Information +
"</br>");

Response.Write(rdr.Information +
"</br>");

Response.Write(da.Information +
"</br></br>");

}

void Oracle()

{

OracleConnection conn =
new OracleConnection();

OracleCommand cmd =
new OracleCommand();

OracleDataReader rdr =
new OracleDataReader();

OracleDataAdapter da =
new OracleDataAdapter();

Response.Write(conn.Information +
"</br>");

Response.Write(cmd.Information +
"</br>");

Response.Write(rdr.Information +
"</br>");

Response.Write(da.Information +
"</br></br>");

}

}

6、右击Default.aspx,在浏览器中查看运行结果。

【技术要点】

1、为了不与系统冲突,命名空间使用了前缀NetShop而不是System,这个不应该影响说明问题吧。

2、类Data.cs中没有使用任何其它的类,不需要引用任何程序集,也不需要导入命名空间。

参考网址:http://msdn.microsoft.com/zh-cn/library/a6cd7c08(v=vs.80).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐