using Dapper; using DataControlMod.Common; using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PullChargeData.Helper { public class DapperHelper { /// /// 建立连接 /// /// public static MySqlConnection MySqlConnection() { var conn = AppSettingsHelper.App("SQL", "mysql"); var connection = new MySqlConnection(conn); connection.Open(); return connection; } ///// ///// 数据库连接字符串 ///// //private static readonly string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db"].ConnectionString; ///// ///// 查询列表(返回DataTable) ///// ///// //public static DataTable QueryToDataTable(string sql) //{ // DataTable table = new DataTable("MyTable"); // using (IDbConnection con = new MySqlConnection(connectionString)) // { // var reader = con.ExecuteReader(sql); // table.Load(reader); // return table; // } //} ///// ///// 查询列表 ///// ///// 查询的sql ///// 替换参数 ///// //public static List Query(string sql, object param = null) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Query(sql, param).ToList(); // } //} ///// ///// 查询第一个数据 ///// ///// ///// ///// //public static T QueryFirst(string sql, object param = null) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Query(sql, param).ToList().First(); // } //} ///// ///// 查询第一个数据没有返回默认值 ///// ///// ///// ///// //public static T QueryFirstOrDefault(string sql, object param = null) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Query(sql, param).ToList().FirstOrDefault(); // } //} ///// ///// 查询单条数据 ///// ///// ///// ///// //public static T QuerySingle(string sql, object param = null) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Query(sql, param).ToList().Single(); // } //} ///// ///// 查询单条数据没有返回默认值 ///// ///// ///// ///// //public static T QuerySingleOrDefault(string sql, object param = null) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Query(sql, param).ToList().SingleOrDefault(); // } //} ///// ///// 增删改 ///// ///// ///// ///// Number of rows affected //public static int Execute(string sql, object param) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.Execute(sql, param); // } //} ///// ///// Reader获取数据 ///// ///// ///// ///// //public static IDataReader ExecuteReader(string sql, object param) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.ExecuteReader(sql, param); // } //} ///// ///// Scalar获取数据 ///// ///// ///// ///// //public static object ExecuteScalar(string sql, object param) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.ExecuteScalar(sql, param); // } //} ///// ///// Scalar获取数据 ///// ///// ///// ///// //public static T ExecuteScalarForT(string sql, object param) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // return con.ExecuteScalar(sql, param); // } //} ///// ///// 带参数的存储过程 ///// ///// ///// ///// //public static List ExecutePro(string proc, object param) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // List list = con.Query(proc, // param, // null, // true, // null, // CommandType.StoredProcedure).ToList(); // return list; // } //} ///// ///// 事务1 - 全SQL ///// ///// 多条SQL ///// param ///// //public static int ExecuteTransaction(string[] sqlarr) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // using (var transaction = con.BeginTransaction()) // { // try // { // int result = 0; // foreach (var sql in sqlarr) // { // result += con.Execute(sql, null, transaction); // } // transaction.Commit(); // return result; // } // catch (Exception ex) // { // transaction.Rollback(); // return 0; // } // } // } //} ///// ///// 事务2 - 声明参数 /////demo: /////dic.Add("Insert into Users values (@UserName, @Email, @Address)", ///// new { UserName = "jack", Email = "380234234@qq.com", Address = "上海" }); ///// ///// 多条SQL ///// param ///// //public static int ExecuteTransaction(Dictionary dic) //{ // using (IDbConnection con = new MySqlConnection(connectionString)) // { // using (var transaction = con.BeginTransaction()) // { // try // { // int result = 0; // foreach (var sql in dic) // { // result += con.Execute(sql.Key, sql.Value, transaction); // } // transaction.Commit(); // return result; // } // catch (Exception ex) // { // transaction.Rollback(); // return 0; // } // } // } //} } }