数据库帮助类MySQLHelper
程序中我们可能经常会在某个语句或者某方法后去修改数据库的内容(增删查改的一系列操作),但如果我们直接在程序中写这部分的代码会使得我们的代码量很大,并且我们可能经常做这种重复的操作,所有我们就把我们会用到的数据库操作封装起来放到一个类中,用的时候直接调用,方便编码和提高代码的可阅读性,这样我们就需要一个数据库帮助类。
那我就直接上代码了,项目MySql.Data.dll程序集引用要记得加上,结合我之前写过的app.config配置文件那一篇博客可能更配哦(这个背景如果看着不习惯可以复制到自己新创建的项目中看)
class MySQLHelper
{
//数据库连接字符串(注意:这里的“MySQLDBConnectionString”一定要与App.config文件中connectionStrings节点值一致)(两种写法)
//public static readonly string connectionString = ConfigurationManager.AppSettings["MySQLDBConnection"].ToString();
public static readonly string connectionString = ConfigurationManager.ConnectionStrings["MySQLDBConnection"].ConnectionString;
/// <summary>
/// 给定连接的数据库用假设参数执行一个sql命令(非查询语句,不返回数据集)
/// </summary>
/// <param name="cmdText">要执行的sql语句</param>
/// <param name="cmdType">命令类型(存储过程,文本等)</param>
/// <param name="commandParmeters">执行命令所用的参数的集合</param>
/// <returns>执行命令做影响的行数</returns>
public static int ExcuteNonQuery(string cmdText, CommandType cmdType, params MySqlParameter[] commandParmeters)
{
//使用using 语句,方便using语句中声明的对象自动被Dispose
using (MySqlCommand cmd = new MySqlCommand())
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
try
{
//执行命令前预处理
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParmeters);
//执行非查询操作
int val = cmd.ExecuteNonQuery();
//清空传入的参数
cmd.Parameters.Clear();
return val;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
}
}
/// <summary>
/// 查询语句,返回查询到的int型数值
/// </summary>
/// <param name="cmdText">查询语句</param>
/// <param name="cmdType">命令字符串类型</param>
/// <param name="commandParameters">SQL语句对应参数</param>
/// <returns>查询到的值</returns>
public static int GetCount(string cmdText, CommandType cmdType = CommandType.Text, params MySqlParameter[] commandParameters)
{
//创建MySqlCommand执行命令语句对象
using (MySqlCommand cmd = new MySqlCommand())
{
//创建一个MySqlConnection对象
using (MySqlConnection con = new MySqlConnection())
{
try
{
//对MySqlCommand对象设置参数
PrepareCommand(cmd, con, null, cmdType, cmdText, commandParameters);
//创建一个适配器adapter
using (MySqlDataAdapter adapter = new MySqlDataAdapter())
{
//给适配器添加MySqlCommand执行命令语句对象
adapter.SelectCommand = cmd;
//定义一