ADO.NET的两大组件:.NET Framework data provider 和 DataSet

ADO.NET主要包含两大组件:.NET Framework data provider 和 DataSet。

.NET Framework data provider

.NET Framework data provider 用于连接到数据库、执行命令和检索结果。

.NET Framework data provider说明
System.Data.Common提供给 .NET Framework Data Provider 共享的类。
System.Data.SqlClient提供 Microsoft SQL Server 的数据访问。
System.Data.OleDb提供对使用 OLE DB 公开的数据源中数据的访问。
System.Data.Odbc提供对使用 ODBC 公开的数据源中数据的访问。
System.Data.OracleClient提供 Oracle 客户端软件版本8.1.7 和更高版本 的数据访问。
System.Data.EntityClient提供对实体数据模型 (EDM) 应用程序的数据访问。
System.Data.SqlServerCe提供 Microsoft SQL Server Compact 4.0 的数据访问。

Connection 对象提供到数据源的连接。 使用 Command 对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。 DataReader 可从数据源提供高性能的数据流。 最后,DataAdapter 在 DataSet 对象和数据源之间起到桥梁作用。 DataAdapter 使用 Command 对象在数据源中执行 SQL 命令以向 DataSet 中加载数据,并将对 DataSet 中数据的更改协调回数据源。

核心对象说明
Connection建立与特定数据源的连接。 所有 Connection 对象的类都继承自 DbConnection 基类。
Command对数据源执行命令。 公开 Parameters ,并可在 从 ConnectionTransaction 范围内执行。 所有 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 data provider引发 .NET Framework 异常。 所有 Exception 对象的类都继承自 DbException 基类。
Error公开数据源返回的警告或错误中的信息。
ClientPermission为 .NET Framework data provider代码访问安全属性而提供。 所有 ClientPermission 对象的类都继承自 DBDataPermission 基类。

DataSet

ADO.NET DataSet 是专门为独立于任何数据源的数据访问而设计的。 因此,它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。 DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及有关 DataTable 对象中数据的主键、外键、约束和关系信息组成。

ADO.NET的两大组件:.NET Framework data provider 和 DataSet

.NET Framework Data Provider for SQL Server示例

using System;
using System.Data;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString =
            "Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=true";

        // Provide the query string with a parameter placeholder.
        string queryString =
            "SELECT ProductID, UnitPrice, ProductName from dbo.products "
                + "WHERE UnitPrice > @pricePoint "
                + "ORDER BY UnitPrice DESC;";

        // Specify the parameter value.
        int paramValue = 5;

        // Create and open the connection in a using block. This
        // ensures that all resources will be closed and disposed
        // when the code exits.
        using (SqlConnection connection =
            new SqlConnection(connectionString))
        {
            // Create the Command and Parameter objects.
            SqlCommand command = new SqlCommand(queryString, connection);
            command.Parameters.AddWithValue("@pricePoint", paramValue);

            // Open the connection in a try/catch block.
            // Create and execute the DataReader, writing the result
            // set to the console window.
            try
            {
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine("\t{0}\t{1}\t{2}",
                        reader[0], reader[1], reader[2]);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
    }

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/csexp/8432.html

发表评论

登录后才能评论