Dear Support Team!
I'stack. Would like to use mysqltransaction with devart.
the code
MySqlConnection conn = new MySqlConnection("User Id=root;Password=attika;Host=localhost;Database=office;");
MySqlTransaction trans = null;
.
.
.
public void insert_data()
{
string query = "INSERT INTO munkalapok (munkalapszam,szlacegid,partnerId)";
query +="VALUES ('"+munkalapszam1+"','1','1')";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
try
{
MySqlCommand command = new MySqlCommand(query, conn);
trans.Connection.BeginTransaction();
command.ExecuteNonQuery();
trans.Connection.Rollback();
}
catch (MySqlException exception)
{
MessageBox.Show(exception.Message.ToString());
trans.Connection.Rollback();
}
}
}
transaction never rolled back;
thanks your help
Mysql 5 transaction
1. Please make sure trans.Connection is assigned to conn in your sample (trans.Connection=conn). We didn't find this assignment in the piece of code you have posted.
2. Be aware, some table storage engines don't support transactions. E.g., ENGINE INNODB has such support, but MyISAM - does not. So make sure your storage engine supports transactions (refer to the appropriate MySQL documentation).
If it doesn't help, please tell us your current dotConnect for MySQL version (the Visual Studio Tools menu | MySQL | About), the version of MySQL server you are using, and your table storage engine. We will try to reproduce the problem.
2. Be aware, some table storage engines don't support transactions. E.g., ENGINE INNODB has such support, but MyISAM - does not. So make sure your storage engine supports transactions (refer to the appropriate MySQL documentation).
If it doesn't help, please tell us your current dotConnect for MySQL version (the Visual Studio Tools menu | MySQL | About), the version of MySQL server you are using, and your table storage engine. We will try to reproduce the problem.
not working
my table type InnoDB suuport transaction.
code
MySqlConnection conn = new MySqlConnection("User Id=root;Password=attika;Host=localhost;Database=office;");
MySqlTransaction trans = null;
.
.
.
public void insert_data()
{
string query = "INSERT INTO munkalapok (munkalapszam,szlacegid,partnerId)";
query +="VALUES ('"+munkalapszam1+"','1','1')";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
try
{
trans.Connection = conn;//error
MySqlCommand command = new MySqlCommand(query, conn);
trans.Connection.BeginTransaction();
command.ExecuteNonQuery();
trans.Connection.Rollback();
}
catch (MySqlException exception)
{
MessageBox.Show(exception.Message.ToString());
trans.Connection.Rollback();
}
}
}
make an error:
Error 1 Property or indexer 'Devart.Data.MySql.MySqlTransaction.Connection' cannot be assigned to -- it is read only C:\vs2008\office\Hibabejelento\Hibafelv.cs 153 21 Hibabejelento
thank you
code
MySqlConnection conn = new MySqlConnection("User Id=root;Password=attika;Host=localhost;Database=office;");
MySqlTransaction trans = null;
.
.
.
public void insert_data()
{
string query = "INSERT INTO munkalapok (munkalapszam,szlacegid,partnerId)";
query +="VALUES ('"+munkalapszam1+"','1','1')";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
try
{
trans.Connection = conn;//error
MySqlCommand command = new MySqlCommand(query, conn);
trans.Connection.BeginTransaction();
command.ExecuteNonQuery();
trans.Connection.Rollback();
}
catch (MySqlException exception)
{
MessageBox.Show(exception.Message.ToString());
trans.Connection.Rollback();
}
}
}
make an error:
Error 1 Property or indexer 'Devart.Data.MySql.MySqlTransaction.Connection' cannot be assigned to -- it is read only C:\vs2008\office\Hibabejelento\Hibafelv.cs 153 21 Hibabejelento
thank you
Try using transaction like this:
Please notify us about the results.
Code: Select all
using (MySqlConnection conn = new MySqlConnection("uid=root;pwd=root;host=localhost;database=test;")){
conn.Open();
conn.BeginTransaction();
MySqlCommand command = new MySqlCommand("insert into dept values (1,'a','a')", conn);
command.ExecuteNonQuery();
conn.Rollback();
}