47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using MySql.Data.MySqlClient;
|
|
|
|
namespace Framework.Server {
|
|
public static class MySql {
|
|
|
|
private static MySqlConnection _connection;
|
|
|
|
public static void Initialize(string connectionString) {
|
|
_connection = new MySqlConnection(connectionString);
|
|
}
|
|
|
|
public static async Task Execute(string query) {
|
|
await _connection.OpenAsync();
|
|
var cmd = new MySqlCommand(query, _connection);
|
|
await cmd.ExecuteNonQueryAsync();
|
|
await _connection.CloseAsync();
|
|
}
|
|
|
|
public static async Task<dynamic[]> FetchAll(string query) {
|
|
await _connection.OpenAsync();
|
|
var cmd = new MySqlCommand(query, _connection);
|
|
var result = await cmd.ExecuteReaderAsync();
|
|
|
|
List<dynamic> data = new List<dynamic>();
|
|
foreach (var record in result) {
|
|
data.Add(record);
|
|
}
|
|
|
|
await _connection.CloseAsync();
|
|
|
|
return data.ToArray();
|
|
}
|
|
|
|
public static async Task<dynamic> FetchOne(string query) {
|
|
var result = await FetchAll(query);
|
|
return result[0];
|
|
}
|
|
|
|
public static async void CreateTables(params string[] querys) {
|
|
var query = string.Join(";", querys);
|
|
await Execute(query);
|
|
}
|
|
|
|
}
|
|
} |