using System.Data; using ADO_Web_2_Connect.Data; using MySqlConnector; namespace ADO_Web_2_Connect.Helper; public class MysqlHelper { private static readonly string? ConnStr; static MysqlHelper() { ConnStr ??= AppConfigurationServices.Configuration.GetConnectionString("BunnyTest"); } /// /// 查询数据库 /// /// SQL语句 /// public static int ExecuteNonQuery(string sql) { using var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var command = new MySqlCommand(sql, mySqlConnection); return command.ExecuteNonQuery(); } /// /// 异步查询数据库 /// /// SQL语句 /// public static async Task ExecuteQueryAsync(string sql) { await using var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var command = new MySqlCommand(sql, mySqlConnection); return await command.ExecuteNonQueryAsync(); } /// /// 读取数据库流 /// /// SQL语句 /// public static MySqlDataReader ExecuteReader(string sql) { using var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var command = new MySqlCommand(sql, mySqlConnection); return command.ExecuteReader(CommandBehavior.CloseConnection); } /// /// 异步读取数据库流 /// /// SQL语句 /// public static async Task ExecuteReaderAsync(string sql) { var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var command = new MySqlCommand(sql, mySqlConnection); return await command.ExecuteReaderAsync(); } /// /// 异步读取数据库流 /// /// SQL语句 /// public static async Task ExecuteReaderAsyncTest(string sql) { await using var mySqlConnection = new MySqlConnection(); mySqlConnection.Open(); var command = new MySqlCommand(sql, mySqlConnection); return await command.ExecuteReaderAsync(CommandBehavior.CloseConnection); } /// /// 获取首行首列的值 /// /// SQL语句 /// public static object? ExecuteScalar(string sql) { using var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var mySqlCommand = mySqlConnection.CreateCommand(); mySqlCommand.CommandText = sql; mySqlCommand.CommandType = CommandType.Text; return mySqlCommand.ExecuteScalar(); } /// /// 异步获取首行首列 /// /// SQL语句 /// public static async Task ExecuteScalarAsync(string sql) { await using var mySqlConnection = new MySqlConnection(ConnStr); mySqlConnection.Open(); var mySqlCommand = new MySqlCommand(sql, mySqlConnection); return await mySqlCommand.ExecuteScalarAsync(); } }