事前准备
添加mysql.data的引用,可以直接在vs2015的程序包中直接搜索下载即可。
代码
直接贴出代码吧,每个函数都有说明。直接用即可,只需要修改数据库连接中你自己数据库的ip和账号密码
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Text.RegularExpressions;
namespace DAL
{
public class MySQLDBHelp
{
/// <summary>
/// 连接数据库
/// </summary>
/// <returns>返回MySqlConnection对象</returns>
public MySqlConnection getMySqlCon()
{
string constructorString = "server=IP地址;User Id=XXX;password=XXXX@;Database=XXXXX";
MySqlConnection myConnnect = new MySqlConnection(constructorString);
return myConnnect;
}
#region 执行MySqlCommand增删改操作,返回受影响的行数。
/// <summary>
/// 执行MySqlCommand
/// </summary>
/// <param name="M_str_sqlstr">SQL语句</param>
public int ExecuteNonMySQL(string M_str_sqlstr)
{
MySqlConnection mysqlcon = this.getMySqlCon();
mysqlcon.Open();
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
int count = mysqlcom.ExecuteNonQuery();
mysqlcom.Dispose();
mysqlcon.Close();
mysqlcon.Dispose();
return count;
}
/// <summary>
/// 执行MySqlCommand
/// </summary>
/// <param name="M_str_sqlstr">SQL语句</param>
public int ExecuteNonMySQL(string M_str_sqlstr ,params MySqlParameter[] parameters )
{
MySqlConnection mysqlcon = this.getMySqlCon();
mysqlcon.Open();
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
mysqlcom.Parameters.AddRange(parameters);
int count = mysqlcom.ExecuteNonQuery();
mysqlcom.Dispose();
mysqlcon.Close();
mysqlcon.Dispose();
return count;
}
/// <summary>
/// 对SQLite数据库执行增删改操作,返回受影响的行数。
/// </summary>
/// <param name="sql">要执行的增删改的SQL语句</param>
/// <returns></returns>
public int ExecuteNonQuery(String sql)
{
try
{
using (MySqlConnection connection = this.getMySqlCon())
{
connection.Open();
MySqlTransaction transaction = connection.BeginTransaction();
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
PrepareCommand(cmd, connection, transaction, CommandType.Text, sql, null);
int rows = cmd.ExecuteNonQuery();
transaction.Commit();
cmd.Parameters.Clear();
return rows;
}
catch (MySqlException e1)
{
try
{
transaction.Rollback();
}
catch (Exception e2)
{
throw e2;
}
throw e1;
}
}
}
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// 对SQLite数据库执行增删改操作,返回受影响的行数。
/// </summary>
/// <param name="sql">要执行的增删改的SQL语句</param>
/// <returns></returns>
public int ExecuteNonQuery(String sql, MySqlParameter[] cmdParams)
{
try
{
using (MySqlConnection connecti