C#数据库连接与操作示例代码
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"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应用的开发中。
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 30
- 资源: 1万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)