C#数据库连接与操作示例代码
版权申诉
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应用的开发中。
2022-05-07 上传
2022-05-07 上传
2022-05-07 上传
2009-04-20 上传
2022-05-07 上传
_webkit
- 粉丝: 30
- 资源: 1万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜