帮我写一个完整的C#DbHerper类
时间: 2024-09-24 15:14:02 浏览: 17
当然可以,这是一个简单的C# `DbHelper` 类的例子,它是一个用于数据库操作的辅助工具类。这个类通常会包含连接数据库、执行SQL查询和事务处理等功能。请注意,这只是一个基础模板,实际应用中可能需要根据具体的数据库驱动(如ADO.NET Entity Framework等)进行调整。
```csharp
using System;
using System.Data.SqlClient;
public class DbHelper
{
// 数据库连接字符串
private string connectionString = "Data Source=your_server;Initial Catalog=your_database;Integrated Security=True;";
// 创建连接
public SqlConnection GetConnection()
{
return new SqlConnection(connectionString);
}
// 执行SQL查询并返回数据列表
public List<YourTable> ExecuteQuery(string sql)
{
using (SqlConnection connection = GetConnection())
{
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
List<YourTable> results = new List<YourTable>();
while (reader.Read())
{
YourTable item = new YourTable();
item.Property1 = reader.GetInt32("Property1");
item.Property2 = reader.GetString("Property2"); // 根据实际表结构填充
results.Add(item);
}
reader.Close();
return results;
}
}
// 执行非查询SQL(例如插入、更新、删除)
public int ExecuteNonQuery(string sql)
{
using (SqlConnection connection = GetConnection())
{
SqlCommand command = new SqlCommand(sql, connection);
int rowsAffected = command.ExecuteNonQuery();
return rowsAffected;
}
}
// 开始事务
public void BeginTransaction()
{
using (SqlConnection connection = GetConnection())
{
connection.BeginTransaction();
}
}
// 提交事务
public void CommitTransaction()
{
using (SqlConnection connection = GetConnection())
{
if (connection.State == ConnectionState.Open && connection.Transaction != null)
{
connection.CommitTransaction();
}
}
}
// 回滚事务
public void RollbackTransaction()
{
using (SqlConnection connection = GetConnection())
{
if (connection.State == ConnectionState.Open && connection.Transaction != null)
{
connection.RollbackTransaction();
}
}
}
}
// 请将YourTable替换为你的实体类名
public class YourTable
{
public int Property1 { get; set; }
public string Property2 { get; set; } // ...其他属性...
}