C#数据库连接与操作示例代码

版权申诉
0 下载量 12 浏览量 更新于2024-08-10 收藏 4KB TXT 举报
"c#基本案例数据库连接 c#经典案例.txt" 本文将详细介绍如何使用C#进行数据库连接,包括创建数据库连接对象、执行SQL命令以及处理数据库操作的经典案例。C#是微软开发的一种面向对象的编程语言,广泛应用于Windows应用程序和Web应用程序的开发,其中与数据库的交互是不可或缺的一部分。 在C#中,我们通常使用ADO.NET框架来连接和操作数据库,特别是通过SqlConnection类来建立与SQL Server的连接。以下是一个简单的DBHelper类的示例,该类封装了数据库连接和执行SQL命令的方法: ```csharp using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Configuration; public class DBHelper // 数据库帮助类 { private static SqlConnection connection; // 静态的SqlConnection对象,用于缓存连接 public static SqlConnection Connection // 获取数据库连接的方法 { get { string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; // 从配置文件获取连接字符串 if (connection == null) { connection = new SqlConnection(connectionString); // 如果未初始化,创建新的连接 connection.Open(); // 打开连接 } else if (connection.State == System.Data.ConnectionState.Closed) // 如果连接已关闭,重新打开 { connection.Open(); } else if (connection.State == System.Data.ConnectionState.Broken) // 如果连接已断开,先关闭再打开 { connection.Close(); connection.Open(); } return connection; } } ///<summary> /// 执行非查询SQL(例如INSERT, UPDATE, DELETE) ///</summary> public static int ExecuteCommand(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); // 创建SqlCommand对象 int result = cmd.ExecuteNonQuery(); // 执行SQL并返回影响行数 return result; } ///<summary> /// 执行带参数的SQL查询 ///</summary> public static int ExecuteCommand(string sql, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); // 创建SqlCommand对象 cmd.Parameters.AddRange(values); // 添加参数 int result = cmd.ExecuteNonQuery(); // 执行SQL并返回影响行数 return result; } } ``` 在这个DBHelper类中,`Connection`属性是一个静态的getter方法,它负责管理和打开数据库连接。`ExecuteCommand`方法有2个重载版本:一个用于执行不带参数的SQL命令,另一个用于执行带有参数的SQL命令。这使得我们能够方便地执行插入、更新、删除等操作。 在实际使用时,你需要确保你的应用程序配置文件(如app.config或web.config)中已经包含了正确的`ConnectionString`,例如: ```xml <configuration> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True;" /> </connectionStrings> </configuration> ``` 这里,`yourServerName`应替换为你的SQL Server实例名,`yourDatabaseName`应替换为你想要连接的数据库名称。 通过上述DBHelper类,你可以像下面这样使用它来执行SQL命令: ```csharp string sql = "INSERT INTO Users (Username, Password) VALUES (@username, @password)"; string username = "testUser"; string password = "testPass"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@username", SqlDbType.NVarChar) { Value = username }, new SqlParameter("@password", SqlDbType.NVarChar) { Value = password } }; int rowsAffected = DBHelper.ExecuteCommand(sql, parameters); Console.WriteLine("受影响的行数: " + rowsAffected); ``` 这个例子展示了如何插入一条新记录到名为`Users`的表中,并使用`SqlParameter`对象来传递参数,以防止SQL注入攻击。 总结来说,C#中的数据库连接通常依赖于ADO.NET框架,通过SqlConnection类来实现。DBHelper类提供了一种封装和管理数据库连接的方式,使得执行SQL命令更加简洁和安全。理解并掌握这些基础知识对于任何C#开发者来说都是至关重要的,无论是在桌面应用还是Web应用的开发中。