C# 一般能用到的SqlHelper类 用得到的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Data;
namespace DAL
{
public class SQLHelp
{
//获取配置文件里面的连接字符串
private static string connString = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
/// <summary>
/// 执行增删改的方法
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>受影响的行数</returns>
public static int CUD(string sql)
{
using (MySqlConnection conn = new MySqlConnection(connString))
{
conn.Open();
MySqlCommand cmd = new MySqlCommand(sql, conn);
return cmd.ExecuteNonQuery();
}
}
public static int CUD(string sql, List<MySqlParameter> ps)
{
using (MySqlConnection conn = new MySqlConnection(connString))
{
conn.Open();
MySqlCommand cmd = new MySqlCommand(sql, conn);
foreach (MySqlParameter item in ps)
{
cmd.Parameters.Add(item);
}
return cmd.ExecuteNonQuery();
}
}
/// <summary>
/// 查询返回dataTable类型
/// </summary>
/// <param name="sql">要执行的SQL语句</param>
/// <returns>表结果</returns>
public static DataTable SelectDtatTable(string sql)
{
//using 释放内存里面的垃圾
using (MySqlConnection conn = new MySqlConnection(connString))
{
MySqlDataAdapter sda = new MySqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
public static DataTable SelectDtatTable(string sql, MySqlParameter[] ps)
{
using (MySqlConnection conn = new MySqlConnection(connString))
{
MySqlCommand cmd = new MySqlCommand(sql, conn);
foreach (MySqlParameter p in ps)
{
cmd.Parameters.Add(p);
}
MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
public static MySqlDataReader SelectReader(string sql, MySqlParameter[] ps)
{
MySqlConnection conn = new MySqlConnection(connString);
conn.Open();
MySqlCommand cmd = new MySqlCommand(sql, conn);
foreach (MySqlParameter item in ps)
{
cmd.Parameters.Add(item);
}
MySqlDataReader sd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sd;
}
public static MySqlDataReader SelectReader(string sql)
{
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand cmd = new MySqlCommand(sql, conn);
conn.Open();
MySqlDataReader sd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sd;
}
/// <summary>
/// 事务执行
/// </summary>
/// <param name="SQLStringList"></param>
public static bool ExecuteSqlTran(List<string> sqlList)
{
bool success;
using (MySqlConnection conn = new MySqlConnection(connString))
{
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
MySqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
foreach (var item in sqlList)
{
cmd.CommandText = item;
cmd.ExecuteNonQuery();
}
tx.Commit();
success = true;
}
catch
{
tx.Rollback();
success = false;
}
finally
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}
return success;
}
}
}
}