vue-java-tutorials/CSharp/SQLTutorial/ADO-Web-3-Connect/Helper/MysqlHelper.cs

93 lines
2.9 KiB
C#
Raw Normal View History

2025-06-22 20:21:42 +08:00
using System.Data;
using ADO_Web_3_Connect.Data;
using MySqlConnector;
namespace ADO_Web_3_Connect.Helper;
public class MysqlHelper
{
private static readonly string? ConnStr;
static MysqlHelper()
{
ConnStr ??= AppConfigurationServices.Configuration.GetConnectionString("BunnyTest");
}
/// <summary>
/// 查询数据库
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql)
{
using var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return mySqlCommand.ExecuteNonQuery();
}
/// <summary>
/// 异步查询数据库
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static async Task<int> ExecuteNoeQueryAsync(string sql)
{
var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return await mySqlCommand.ExecuteNonQueryAsync();
}
/// <summary>
/// 读取数据库流
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static MySqlDataReader ExecuteReader(string sql)
{
var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return mySqlCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 异步读取数据库流
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static async Task<MySqlDataReader> ExecuteReaderAsync(string sql)
{
var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return await mySqlCommand.ExecuteReaderAsync();
}
/// <summary>
/// 获取首行首列的值
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static object? ExecuteScalar(string sql)
{
using var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return mySqlCommand.ExecuteScalar();
}
/// <summary>
/// 异步获取首行首列
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static async Task<object?> ExecuteScalarAsync(string sql)
{
await using var mySqlConnection = new MySqlConnection(ConnStr);
mySqlConnection.Open();
var mySqlCommand = new MySqlCommand(sql, mySqlConnection);
return await mySqlCommand.ExecuteScalarAsync();
}
}