当前位置:实例文章 » C#开发实例» [文章]ADO.NET 面试题

ADO.NET 面试题

发布人:shili8 发布时间:2023-06-26 09:21 阅读次数:70

1. 什么是 ADO.NET?

ADO.NET 是一种用于访问数据源的技术,它是 .NET Framework 的一部分。ADO.NET 提供了一组类和接口,用于连接到数据源、执行命令、读取和写入数据。

2. ADO.NET 中的连接字符串是什么?

连接字符串是一种包含有关如何连接到数据源的信息的字符串。它通常包括数据源的名称、身份验证信息和其他连接选项。以下是一个示例连接字符串:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;


3. ADO.NET 中的 SqlCommand 类是什么?

SqlCommand 类表示要在数据源上执行的 SQL 语句或存储过程。它提供了一组方法,用于执行命令并返回结果。以下是一个示例:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(SELECT * FROM Customers connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        Console.WriteLine(reader[CustomerID].ToString());
    }
}


4. ADO.NET 中的 SqlDataAdapter 类是什么?

SqlDataAdapter 类用于填充 DataSet 对象。它提供了一组方法,用于执行命令并将结果填充到 DataSet 中。以下是一个示例:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter(SELECT * FROM Customers connection);
    DataSet dataSet = new DataSet();
    adapter.Fill(dataSet Customers);
    DataTable table = dataSet.Tables[Customers];
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(row[CustomerID].ToString());
    }
}


5. ADO.NET 中的 DataSet 和 DataTable 是什么?

DataSet 是一个内存中的数据容器,它可以包含多个 DataTable 对象。DataTable 是一个内存中的表格,它包含多个 DataRow 对象。以下是一个示例:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter(SELECT * FROM Customers connection);
    DataSet dataSet = new DataSet();
    adapter.Fill(dataSet Customers);
    DataTable table = dataSet.Tables[Customers];
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(row[CustomerID].ToString());
    }
}


6. ADO.NET 中的 SqlDataReader 类是什么?

SqlDataReader 类用于从数据源中读取数据。它提供了一组方法,用于逐行读取数据。以下是一个示例:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(SELECT * FROM Customers connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        Console.WriteLine(reader[CustomerID].ToString());
    }
}


7. ADO.NET 中的事务是什么?

事务是一组操作,它们被视为单个操作单元。如果其中任何一个操作失败,则整个事务将被回滚。ADO.NET 提供了一组类和接口,用于管理事务。以下是一个示例:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlTransaction transaction = connection.BeginTransaction();
    try
    {
        SqlCommand command1 = new SqlCommand(INSERT INTO Customers (CustomerID CompanyName) VALUES ('ALFKI' 'Alfreds Futterkiste') connection transaction);
        SqlCommand command2 = new SqlCommand(INSERT INTO Orders (CustomerID OrderDate) VALUES ('ALFKI' '2021-01-01') connection transaction);
        command1.ExecuteNonQuery();
        command2.ExecuteNonQuery();
        transaction.Commit();
    }
    catch (Exception ex)
    {
        transaction.Rollback();
        Console.WriteLine(ex.Message);
    }
}

其他信息

其他资源

Top