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);
}
}

