用C#语言封装使用MySql数据库的类DBHelper,实现增删改查功能,其他类只需调用此类中的相应的增删改查的方法并传入SQL语句和不定参数就可以访问数据库
时间: 2024-05-16 15:16:43 浏览: 179
好的,以下是一个示例的C#语言封装使用MySql数据库的类DBHelper,实现增删改查功能的代码:
```csharp
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
public class DBHelper
{
private static MySqlConnection conn;
private static string connString = "Server=localhost;Database=mydatabase;Uid=root;Pwd=mypassword;";
// 执行增、删、改操作
public static int ExecuteNonQuery(string sql, params MySqlParameter[] parameters)
{
using (conn = new MySqlConnection(connString))
{
using (MySqlCommand cmd = new MySqlCommand(sql, conn))
{
if (parameters != null && parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
conn.Open();
return cmd.ExecuteNonQuery();
}
}
}
// 执行查询操作,返回单个值
public static object ExecuteScalar(string sql, params MySqlParameter[] parameters)
{
using (conn = new MySqlConnection(connString))
{
using (MySqlCommand cmd = new MySqlCommand(sql, conn))
{
if (parameters != null && parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
conn.Open();
return cmd.ExecuteScalar();
}
}
}
// 执行查询操作,返回多行数据
public static DataTable ExecuteDataTable(string sql, params MySqlParameter[] parameters)
{
using (conn = new MySqlConnection(connString))
{
using (MySqlCommand cmd = new MySqlCommand(sql, conn))
{
if (parameters != null && parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
conn.Open();
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
return dt;
}
}
}
}
```
使用示例:
```csharp
// 查询
string sql = "SELECT * FROM table1 WHERE id=@id";
MySqlParameter parameter = new MySqlParameter("@id", 1);
DataTable dt = DBHelper.ExecuteDataTable(sql, parameter);
// 插入
sql = "INSERT INTO table1 (name, age) VALUES (@name, @age)";
MySqlParameter[] parameters = new MySqlParameter[]
{
new MySqlParameter("@name", "Tom"),
new MySqlParameter("@age", 25),
};
int result = DBHelper.ExecuteNonQuery(sql, parameters);
// 更新
sql = "UPDATE table1 SET age=@age WHERE name=@name";
parameters = new MySqlParameter[]
{
new MySqlParameter("@age", 26),
new MySqlParameter("@name", "Tom"),
};
result = DBHelper.ExecuteNonQuery(sql, parameters);
// 删除
sql = "DELETE FROM table1 WHERE name=@name";
parameter = new MySqlParameter("@name", "Tom");
result = DBHelper.ExecuteNonQuery(sql, parameter);
```
请注意,以上代码示例中的连接字符串(connString)需要根据你的实际情况进行修改。另外,为了防止SQL注入攻击,请在使用时对SQL语句中的参数进行转义处理或使用参数化查询。
阅读全文