1 .NET Framework 数据提供程序定义
MSDN定义:.NET Framework 数据提供程序用于连接到数据库、执行命令和检索结果。这些结果将被直接处理,放置在 DataSet 中以便根据需要向用户公开、与多个源中的数据组合,或在层之间进行远程处理。.NET Framework 数据提供程序是轻量的,它在数据源和代码之间创建最小的分层,并在不降低功能性的情况下提高性能。
个人理解,因为有不同的数据库,所以必须引用System.Data下不同的命名空间才能对其进行相应的操作。
下表列出了 .NET Framework 中所包含的数据提供程序。
.NET Framework 数据提供程序 |
说明 |
---|---|
.NET Framework 用于 SQL Server 的数据提供程序 |
提供对 Microsoft SQL Server 7.0 或更高版本中数据的访问。使用 System.Data.SqlClient 命名空间。 |
.NET Framework 用于 OLE DB 的数据提供程序 |
提供对使用 OLE DB 公开的数据源中数据的访问。使用 System.Data.OleDb 命名空间。 |
.NET Framework 用于 ODBC 的数据提供程序 |
提供对使用 ODBC 公开的数据源中数据的访问。使用 System.Data.Odbc 命名空间。 |
.NET Framework 用于 Oracle 的数据提供程序 |
适用于 Oracle 数据源。用于 Oracle 的 .NET Framework 数据提供程序支持 Oracle 客户端软件 8.1.7 和更高版本,并使用 System.Data.OracleClient 命名空间。 |
EntityClient 提供程序 |
提供对实体数据模型 (EDM) 应用程序的数据访问。使用 System.Data.EntityClient 命名空间。 |
使用reflector工具可以查看到System.Data下的命名空间
(1)用于 SQL Server 的 .NET Framework 数据提供程序 (SqlClient)
若要使用用于 SQL Server 的 .NET Framework 数据提供程序,您必须具有对 SQL Server 7.0 或更高版本的访问权限
using System.Data.SqlClient;
(2)用于 OLE DB 的 .NET Framework 数据提供程序
用于 OLE DB 的 .NET Framework 数据提供程序 (OleDb) 通过 COM 互操作使用本机 OLE DB 来启用数据访问
using System.Data.OleDb;
using System.Data.Odbc;
(4)用于 Oracle 的 .NET Framework 数据提供程序
用于 Oracle 的 .NET Framework 数据提供程序 (OracleClient) 通过 Oracle 客户端连接软件启用对 Oracle 数据源的数据访问
using System.Data.OracleClient;
(5)选择 .NET Framework 数据提供程序
提供程序 |
说明 |
---|---|
.NET Framework 用于 SQL Server 的数据提供程序 |
建议用于使用 Microsoft SQL Server 7.0 或更高版本的中间层应用程序。 建议用于使用 Microsoft 数据库引擎 (MSDE) 或 SQL Server 7.0 或更高版本的单层应用程序。 建议将用于 SQL Server 的 OLE DB 访问接口 (SQLOLEDB) 与用于 OLE DB 的 .NET Framework 数据提供程序一起使用。 对于 SQL Server 6.5 和更新版本,您必须将用于 SQL Server 的 OLE DB 访问接口与用于 OLE DB 的 .NET Framework 数据提供程序一起使用。 |
.NET Framework 用于 OLE DB 的数据提供程序 |
建议用于使用 SQL Server 6.5 或早期版本的中间层应用程序。 对于 SQL Server 7.0 或更高版本,建议使用用于 SQL Server 的 .NET Framework 数据提供程序。 还建议用于使用 Microsoft Access 数据库的单层应用程序。 不建议将 Access 数据库用于中间层应用程序。 |
.NET Framework 用于 ODBC 的数据提供程序 |
建议用于使用 ODBC 数据源的中间层应用程序和单层应用程序。 |
.NET Framework 用于 Oracle 的数据提供程序 |
建议用于使用 Oracle 数据源的中间层应用程序和单层应用程序。 |
对象 |
说明 |
---|---|
Connection |
建立与特定数据源的连接。 所有 Connection 对象的基类均为 DbConnection 类。 |
Command |
对数据源执行命令。 公开 Parameters,并可在 Transaction 范围内从 Connection 执行。 所有 Command 对象的基类均为 DbCommand 类。 |
DataReader |
从数据源中读取只进且只读的数据流。 所有 DataReader 对象的基类均为 DbDataReader 类。 |
DataAdapter |
使用数据源填充 DataSet 并解决更新。 所有 DataAdapter 对象的基类均为 DbDataAdapter 类。 |
对象 |
说明 |
---|---|
Transaction |
将命令登记在数据源处的事务中。 所有 Transaction 对象的基类均为 DbTransaction 类。 ADO.NET 还使用 System.Transactions 命名空间中的类提供对事务的支持。 |
CommandBuilder |
一个帮助器对象,它自动生成 DataAdapter 的命令属性或从存储过程中派生参数信息,并填充 Command 对象的 Parameters 集合。 所有 CommandBuilder 对象的基类均为DbCommandBuilder 类。 |
ConnectionStringBuilder |
一个帮助器对象,它提供一种用于创建和管理由 Connection 对象使用的连接字符串的内容的简单方法。 所有 ConnectionStringBuilder 对象的基类均为 DbConnectionStringBuilder类。 |
Parameter |
定义命令和存储过程的输入、输出和返回值参数。 所有 Parameter 对象的基类均为 DbParameter 类。 |
Exception |
在数据源中遇到错误时返回。 对于在客户端遇到的错误,.NET Framework 数据提供程序会引发一个 .NET Framework 异常。 所有 Exception 对象的基类均为 DbException 类。 |
Error |
公开数据源返回的警告或错误中的信息。 |
ClientPermission |
为 .NET Framework 数据提供程序代码访问安全属性而提供。 所有 ClientPermission 对象的基类均为 DBDataPermission 类。 |
3.SqlHelper类
对ADO.NET有了初步认识之后,可以开始写自己的SqlHelper类了,在工程下新建一个SqlHelper.cs文件,引入SQL Server 的数据提供程序的命名空间。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Data.SqlClient; /// <summary> ///SqlHelper create by TerryChan 2012-04-17 /// </summary> public class SqlHelper { }