异步帮助类
public class MysqlHelper
{
//数据库连接字符串
public static string Conn = ConfigurationManager.AppSettings["connStr"].ToString();
/// <summary>
/// 执行一个命令
/// </summary>
/// <param name="sqlText">sql语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<int> ExecuteNonQueryAsync(string sqlText)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return await conn.ExecuteAsync(sqlText);
}
}
/// <summary>
/// 执行一个命令
/// </summary>
/// <param name="sqlText">sql语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<int> ExecuteNonQueryAsync(string sqlText, object model)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return await conn.ExecuteAsync(sqlText, model);
}
}
/// <summary>
/// 执行一个命令
/// </summary>
/// <param name="sqlText">sql语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<int> ExecuteNonQueryAsync(string sqlText, object model, CommandType commandType)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return await conn.ExecuteAsync(sqlText, model, null, null, commandType);
}
}
/// <summary>
/// 执行一个命令返回第一行数据
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<t> ExecuteScalarAsync<t>(string sqlText)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText)).FirstOrDefault();
}
}
/// <summary>
/// 执行一个命令返回第一行数据
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<t> ExecuteScalarAsync<t>(string sqlText, object model)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText, model)).FirstOrDefault();
}
}
/// <summary>
/// 执行一个命令返回第一行数据
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<t> ExecuteScalarAsync<t>(string sqlText, object model, CommandType commandType)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText, model, null, null, commandType)).FirstOrDefault();
}
}
/// <summary>
/// 执行一个命令返回数据列表
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<List<t>> ExecuteItemsAsync<t>(string sqlText)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText)).ToList();
}
}
/// <summary>
/// 执行一个命令返回数据列表
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<List<t>> ExecuteItemsAsync<t>(string sqlText, object model)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText, model)).ToList();
}
}
/// <summary>
/// 执行一个命令返回数据列表
/// </summary>
/// <typeparam name="t">要序列化实体</typeparam>
/// <param name="sqlText">SQL语句</param>
/// <param name="model">实体类</param>
/// <returns></returns>
public static async Task<List<t>> ExecuteItemsAsync<t>(string sqlText, object model, CommandType commandType)
{
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(Conn))
{
return (await conn.QueryAsync<t>(sqlText, model, null, null, commandType)).ToList();
}
}
/// <summary>
/// 执行一个命令返回表格
/// </summary>
/// <returns></returns>
public static DataTable GetDataTable(string sqlText, params MySqlParameter[] commandParameters)
{
return GetDataTable(sqlText, CommandType.Text, commandParameters);
}
/// <summary>
/// 执行一个命令返回表格
/// </summary>
/// <returns></returns>
public static DataTable GetDataTable(string sqlText, CommandType cmdType, params MySqlParameter[] commandParameters)
{
using (MySqlConnection conn = new MySqlConnection(Conn))
{
using (MySqlCommand cmd = new MySqlCommand())
{
if (commandParameters != null)
{
foreach (MySqlParameter parm in commandParameters)
cmd.Parameters.Add(parm);
}
cmd.CommandText = sqlText;
cmd.CommandType = cmdType;
conn.Open();
cmd.Connection = conn;
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = cmd;
DataTable ds = new DataTable();
adapter.Fill(ds);
return ds;
}
}
}
}