ADO.NET与C#操作SQL数据库基础教程

需积分: 9 2 下载量 149 浏览量 更新于2024-09-30 收藏 19KB TXT 举报
"C#操作SQL经典" 在C#中与SQL数据库进行交互是常见的开发任务,ADO.NET提供了方便的框架来实现这一目标。本资源主要关注C#如何使用ADO.NET来执行基本的数据库操作,如连接、查询、更新和删除。 1. ADO.NET组件与数据库连接 ADO.NET中的SqlConnection类用于建立与SQL Server的连接。在C#代码中,创建一个SqlConnection实例,并通过设置ConnectionString属性来提供数据库连接所需的参数,包括数据源(datasource)、初始目录(initialcatalog)、用户名(userid)和密码(password)。例如: ```csharp SqlConnection conn = new SqlConnection("datasource=localhost;initialcatalog=pubs;userid=sa;password=sa;"); ``` 连接数据库时,需调用Open()方法,断开连接则使用Close()方法。 2. 执行查询操作 查询数据通常通过SqlCommand对象和SqlDataReader实现。SqlCommand用于构建SQL语句,SqlDataReader用于读取查询结果。示例: ```csharp SqlCommand cmd = new SqlCommand("SELECT * FROM TableName", conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // 处理每一行数据 } reader.Close(); ``` 注意,SqlDataReader是只进的,一旦读过一行,就不能回退,适合处理大量数据。 3. 数据填充DataSet 如果需要将查询结果保存到内存中以便进一步操作,可以使用DataSet和SqlDataAdapter。SqlDataAdapter可以从数据库填充DataSet,并在必要时更新数据库。创建SqlDataAdapter并调用Fill方法: ```csharp SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adapter.Fill(ds, "TableName"); ``` 这样,DataSet的表就包含了查询的结果。 4. 执行插入、更新和删除操作 插入、更新和删除数据通过SqlCommand的ExecuteNonQuery()方法完成。例如,删除记录: ```csharp SqlCommand deleteCmd = new SqlCommand("DELETE FROM TableName WHERE ID = @ID", conn); deleteCmd.Parameters.AddWithValue("@ID", someId); deleteCmd.ExecuteNonQuery(); ``` 在更新或插入记录时,同样需要使用Parameters添加参数化值,以防止SQL注入。 5. 事务处理 当需要一组操作作为一个原子操作执行时,可以使用SqlTransaction。在开始事务后,所有的数据库操作都在该事务范围内,只有当所有操作成功时才提交事务,否则回滚。例如: ```csharp SqlTransaction tran = conn.BeginTransaction(); try { // 执行一系列操作 tran.Commit(); } catch { tran.Rollback(); } ``` 6. 错误处理和连接管理 在实际开发中,应该对可能出现的异常进行捕获和处理,例如在打开或关闭连接时可能出现的异常。同时,使用using语句可以确保数据库连接在不再需要时被正确关闭和释放。 以上就是C#操作SQL数据库的一些核心知识点,包括连接管理、查询、数据填充、事务处理等。理解并熟练应用这些概念是C#数据库编程的基础。