是的,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语句来插入一条数据,并且如果出现异常则回滚事务。如果一切正常,则提交事务。您可以根据自己的需要进行更复杂的事务操作。