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

来源:互联网 发布:Hec-ras 数据输入方法 编辑:程序博客网 时间:2024/06/05 18:24

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

{

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

 

}

public classSqlCommand

{

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

}

public classSqlDataReader

{

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

}

public classSqlDataAdapter

{

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

}

}

 

namespace OleDb

{

public classOleDbConnection

{

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

 

}

public classOleDbCommand

{

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

}

public classOleDbDataReader

{

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

}

public classOleDbDataAdapter

{

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

}

}

namespace Odbc

{

public classOdbcConnection

{

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

 

}

public classOdbcCommand

{

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

}

public classOdbcDataReader

{

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

}

public classOdbcDataAdapter

{

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

}

}

namespace Oracle

{

public classOracleConnection

{

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

 

}

public classOracleCommand

{

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

}

public classOracleDataReader

{

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

}

public classOracleDataAdapter

{

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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕晚期起床困难怎么办 腰间盘疼痛起床困难怎么办 小学生做作业拖拉怎么办 被手机贷起诉怎么办 大人睡颠倒了怎么办 熬夜长斑了怎么办 ps遇到文件尾怎么办 pdf用ps打不开怎么办 ps安装不上怎么办 工作原因经常熬夜怎么办 熬夜皮肤暗黄怎么办 经常熬夜睡眠不好怎么办 经常熬夜皮肤不好怎么办 皮肤熬夜变暗黄怎么办 晚上上夜班白天睡不着怎么办 熬夜肾虚怎么办才能好 经常熬夜口气重怎么办 晚上睡不着白天起不来怎么办 晚上熬夜白天睡不着怎么办 在外打工孩子上学怎么办 婴儿脸干燥发红怎么办 宝宝脸上红点点怎么办 药流出血量少怎么办 药流喝药第一天发烧了怎么办 药流第一天量很少怎么办 小孩不想吃饭口臭怎么办 晚上上班白天睡不着怎么办 新车刮漆了怎么办 药流出血多怎么办 药流第二天没血怎么办 有异味怎么办%3f 养狗后悔了怎么办 买狗后悔了怎么办 小孩子不想去幼儿园怎么办 小孩子不想上幼儿园怎么办 想当兵视力不够怎么办 当兵裸眼视力差怎么办 去公司报道行李怎么办 报道第一天出糗怎么办 痛经一直想拉屎怎么办 月经第一天痛经怎么办