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

源代码: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

5Default.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个,分别是:
"
);

SQLServer();

 

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

OleDb();

 

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

Odbc();

 

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

Oracle();

}

void SQLServer()

{

SqlConnection conn = new SqlConnection();

SqlCommand cmd = new SqlCommand();

SqlDataReader rdr = new SqlDataReader();

SqlDataAdapter da = new SqlDataAdapter();

 

Response.Write(conn.Information + "
"
);

Response.Write(cmd.Information + "
"
);

Response.Write(rdr.Information + "
"
);

Response.Write(da.Information + "

"
);

}

void OleDb()

{

OleDbConnection conn = new OleDbConnection();

OleDbCommand cmd = new OleDbCommand();

OleDbDataReader rdr = new OleDbDataReader();

OleDbDataAdapter da = new OleDbDataAdapter();

 

Response.Write(conn.Information + "
"
);

Response.Write(cmd.Information + "
"
);

Response.Write(rdr.Information + "
"
);

Response.Write(da.Information + "

"
);

}

void Odbc()

{

OdbcConnection conn = new OdbcConnection();

OdbcCommand cmd = new OdbcCommand();

OdbcDataReader rdr = new OdbcDataReader();

OdbcDataAdapter da = new OdbcDataAdapter();

 

Response.Write(conn.Information + "
"
);

Response.Write(cmd.Information + "
"
);

Response.Write(rdr.Information + "
"
);

Response.Write(da.Information + "

"
);

}

 

void Oracle()

{

OracleConnection conn = new OracleConnection();

OracleCommand cmd = new OracleCommand();

OracleDataReader rdr = new OracleDataReader();

OracleDataAdapter da = new OracleDataAdapter();

 

Response.Write(conn.Information + "
"
);

Response.Write(cmd.Information + "
"
);

Response.Write(rdr.Information + "
"
);

Response.Write(da.Information + "

"
);

}

}

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

【技术要点】

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

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

参考网址: http://msdn.microsoft.com/zh-cn/library/a6cd7c08(v=vs.80). aspx
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值