C#面试题更新 2026-08-03

请描述在 C# 环境中,基于 ADO.NET 技术执行数据库连接与数据操作的主要步骤和核心对象。

考察说明

考查对 ADO.NET 核心对象及数据库操作流程的掌握程度。

回答思路

  1. 【回答框架 1】ADO.NET 是 .NET 平台下的数据访问技术,核心对象包括 Connection、Command、DataReader、DataAdapter 和 DataSet。Connection 负责建立与数据库的连接,需指定连接字符串;Command 用于执行 SQL 语句或存储过程。
  2. 【回答框架 2】典型操作流程:首先创建连接对象并打开连接;然后创建 Command 对象,设置其 CommandText 和 Connection,可选择 CommandType;执行操作时,查询可用 ExecuteReader 获取 DataReader,或使用 ExecuteScalar 获取单个值,非查询用 ExecuteNonQuery。
  3. 【回答框架 3】DataReader 是只进只读的流式读取器,占用连接,使用后需关闭;DataAdapter 作为桥梁将数据填充到 DataSet,DataSet 支持离线操作,断开连接后仍可访问数据。
  4. 【回答框架 4】编写代码时应使用 using 语句确保资源释放,并考虑异常处理。连接字符串中的参数应避免硬编码,注意安全。
  5. 【关键点 1】核心对象:Connection、Command、DataReader、DataAdapter、DataSet。
  6. 【关键点 2】连接字符串是连接的基础,需包含服务器、数据库、认证信息等。
  7. 【关键点 3】查询操作使用 ExecuteReader,非查询使用 ExecuteNonQuery,单值用 ExecuteScalar。
  8. 【关键点 4】DataReader 是只读只进流,连接占用;DataAdapter 填充 DataSet 支持离线。
  9. 【关键点 5】资源释放用 using 或 try-finally,防止连接泄漏。
  10. 【易错点 1】忘记关闭连接可能导致连接池耗尽,应使用 using 或 finally。
  11. 【易错点 2】DataReader 未关闭时不能对同一连接执行其他操作。
  12. 【易错点 3】SQL 注入风险:拼接字符串而非参数化查询。