发布:2024/3/26 22:56:45作者:管理员 来源:本站 浏览次数:557
在C#中,使用MySql.Data.MySqlClient库可以进行MySQL的异步增删改查操作。以下是一个示例代码,展示了如何使用MySqlConnection和MySqlCommand进行异步操作:
using System;
using System.Data;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
public class MySqlAsyncExample
{
private readonly string _connectionString;
public MySqlAsyncExample(string connectionString)
{
_connectionString = connectionString;
}
// 查询方法
public async Task<DataTable> QueryDataAsync(string query)
{
using (var connection = new MySqlConnection(_connectionString))
{
await connection.OpenAsync();
using (var command = new MySqlCommand(query, connection))
{
using (var reader = await command.ExecuteReaderAsync())
{
var table = new DataTable();
table.Load(reader);
return table;
}
}
}
}
// 插入方法
public async Task<int> InsertDataAsync(string query)
{
using (var connection = new MySqlConnection(_connectionString))
{
await connection.OpenAsync();
using (var command = new MySqlCommand(query, connection))
{
return await command.ExecuteNonQueryAsync();
}
}
}
// 更新方法
public async Task<int> UpdateDataAsync(string query)
{
using (var connection = new MySqlConnection(_connectionString))
{
await connection.OpenAsync();
using (var command = new MySqlCommand(query, connection))
{
return await command.ExecuteNonQueryAsync();
}
}
}
// 删除方法
public async Task<int> DeleteDataAsync(string query)
{
using (var connection = new MySqlConnection(_connectionString))
{
await connection.OpenAsync();
using (var command = new MySqlCommand(query, connection))
{
return await command.ExecuteNonQueryAsync();
}
}
}
}
在这个示例中,每个方法都使用async关键字标记,并返回Task<T>,其中T是对应操作的结果类型。例如,QueryDataAsync方法返回一个DataTable,InsertDataAsync, UpdateDataAsync, 和 DeleteDataAsync方法返回受影响行数的任务。每个方法在操作数据库时都使用了异步方法OpenAsync, ExecuteReaderAsync, 和 ExecuteNonQueryAsync。
请确保你的项目中已经安装了MySql.Data NuGet包。
© Copyright 2014 - 2025 柏港建站平台 ejk5.com. 渝ICP备16000791号-4