C#数据库连接与操作示例代码
版权申诉
7 浏览量
更新于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应用的开发中。
点击了解资源详情
点击了解资源详情
点击了解资源详情
165 浏览量
126 浏览量
268 浏览量
2009-04-20 上传
_webkit
- 粉丝: 31
- 资源: 1万+
最新资源
- scrum-and-xp-chinese-version
- Ajax in action.pdf
- JavaScript Step by Step
- Spring开发指南
- suse oracle 安装
- 麻省理工学院 算法导论习题答案 英文版
- Starteam最佳实践
- 应届毕业生必看编程习惯 与 设计思想
- 软件工程需求工程 讲义
- 高质量的C_C++编程
- 电力电子技术习题答案(王兆安)
- C#入门经典(第 三版)习题答案
- 中国电信SIP规范第三部分(信令流程)
- O'Reilly Oracle PL SQL Best Practices
- Learning Oracle PL_SQL
- 移植NetBSD至ARM嵌入式处