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