Я хочу начать добавлять несколько строк в цикл, и когда i == 5 я хочу отменить транзакции.
Основная проблема в том, что он не откатывается.
Код: Выделить всё
MySqlConnection conn2 = new MySqlConnection("server=127.0.0.1;uid=root;pwd=;database=dbtest;");
conn2.Open();
MySqlCommand command2 = conn2.CreateCommand();
MySqlTransaction trans;
trans = conn2.BeginTransaction();
command2.Transaction = trans;
try
{
for (int i = 0; i < 10; i++)
{
command2.CommandText = "INSERT INTO test (col1, col2, col3) VALUES ('1','1','1')";
command2.ExecuteNonQuery();
if (i == 5)
{
throw new Exception();
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
trans.Rollback();
}
Тогда я решил попробовать базу данных MySQL:
Код: Выделить всё
START TRANSACTION;
INSERT INTO test (col1, col2, col3) VALUES ('1','1','1')
//also with COMMIT here
ROLLBACK;
Подробнее здесь: https://stackoverflow.com/questions/311 ... ot-working
Мобильная версия