是的,C#的MySQL Connector支持事務。你可以使用MySQLTransaction類來開始、提交和回滾事務。事務使得一組數據庫操作要么全部成功要么全部失敗,從而保持數據的一致性和完整性。以下是一個簡單的示例:
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=mydatabase;password=mypassword;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
using (MySqlTransaction transaction = conn.BeginTransaction())
{
try
{
MySqlCommand cmd = conn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2')";
cmd.ExecuteNonQuery();
// 執行其他數據庫操作
transaction.Commit();
Console.WriteLine("事務成功提交");
}
catch (Exception ex)
{
transaction.Rollback();
Console.WriteLine("事務回滾:" + ex.Message);
}
}
}
}
}
在這個示例中,我們創建了一個MySQL連接,并在其中開啟了一個事務。我們執行了一個INSERT語句來插入一條數據,并且如果出現異常則回滾事務。如果一切正常,則提交事務。您可以根據自己的需要進行更復雜的事務操作。