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;
// }
// }
// }
//}
}
}