ADO.NET实战:C#实现个人通讯录管理

需积分: 3 20 下载量 183 浏览量 更新于2024-09-11 收藏 49KB DOCX 举报
"C#学习笔记09练习题和答案提供了使用ADO.NET操作数据库的实例,包括添加、查询、删除个人通讯录记录。" 在C#编程中,ADO.NET是一个强大的数据访问框架,它允许开发者与各种数据库进行交互,如SQL Server、Oracle、MySQL等。在给定的练习题中,我们看到如何利用ADO.NET完成个人通讯录的管理功能。以下是相关知识点的详细说明: 1. **数据库连接字符串(connstr)**: 连接字符串是连接数据库的关键,包含了数据库服务器名称(或IP)、数据库实例、认证方式等信息。在示例中,使用的是集成安全(Integrated Security=True),这意味着使用当前Windows用户的凭据进行身份验证。`DataSource=.\SQLEXPRESS`表示连接到本地的SQL Server Express实例。 2. **SqlConnection类**: 是ADO.NET中用于与SQL Server建立连接的对象。通过`new SqlConnection(connstr)`创建一个连接实例,然后调用`Open()`方法打开连接。 3. **SqlCommand类**: 用于执行SQL命令。创建SqlCommand对象时,需要指定数据库连接(`cmd.Connection = conn`)和要执行的SQL命令(`cmd.CommandText = sql`)。在本例中,`ExecuteNonQuery()`方法用于执行非查询操作,如INSERT、DELETE和UPDATE。 4. **插入记录(addPerson)**: 使用`insert into...values`语句插入新记录。注意,这里的字符串拼接方法存在SQL注入的风险,实际开发中应使用参数化查询或者存储过程来避免这种风险。 5. **删除记录(deletePerson)**: `delete from...where`语句用于删除符合条件的记录。同样,这里也需要注意SQL注入问题。 6. **数据访问模式**: 通常,我们会遵循一种被称为“连接池”的策略,即不显式关闭数据库连接,而是依赖于ADO.NET自动管理连接。然而,示例代码中每个操作后都关闭了连接,这是为了确保每个操作都在独立的连接下完成,避免了可能的并发问题。 7. **查询操作**: 虽然在提供的代码中没有查询示例,但通常会使用`SqlCommand`的`ExecuteReader()`方法来执行SELECT查询,返回一个`SqlDataReader`对象,可以遍历查询结果。 8. **界面设计**: 提到了参考界面,表明这个程序可能需要一个用户友好的图形用户界面(GUI)。在C#中,可以使用WinForms或WPF来创建GUI,通过控件(如TextBox、Button等)实现用户输入和交互。 通过这个练习,学习者可以深入理解如何在C#中使用ADO.NET进行数据库操作,这对于开发任何涉及数据存储和检索的应用程序都是至关重要的技能。同时,也要注意学习数据库设计、事务处理、错误处理以及安全性相关的最佳实践。