• 一步步写自己SqlHelper类库(二):.NET Framework 数据提供程序


    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;
        (3)用于 ODBC 的 .NET Framework 数据提供程序
        用于 ODBC 的 .NET Framework 数据提供程序 (Odbc) 使用本机 ODBC 驱动程序管理器 (DM) 来启用数据访问
    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 数据源的中间层应用程序和单层应用程序。

     
     
    .NET Framework 数据提供程序的核心对象
      下表概述了组成 .NET Framework 数据提供程序的四个核心对象。
      

    对象

    说明

    Connection

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

    Command

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

    DataReader

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

    DataAdapter

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

     
      除了此文档前面的表中所列出的核心类之外,.NET Framework 数据提供程序还包含下表中列出的类。
      

    对象

    说明

    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
    {
    
    }
    作者: ForEvErNoME
    出处: http://www.cnblogs.com/ForEvErNoME/
    欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注
     
     
  • 相关阅读:
    wpf图片查看器,支持鼠标滚动缩放拖拽
    Python 3.x 学习笔记--杂
    Python 3.x 模块
    python 连接kafka
    Oracle问题
    Device Mapper Multipath(DM-Multipath)
    各种书籍
    Centos 6.x系统
    老男孩Python 3.x 讲义
    Python 3.x 学习笔记
  • 原文地址:https://www.cnblogs.com/ForEvErNoME/p/2452745.html
Copyright © 2020-2023  润新知