关于sqlserver事务和mysql事务
首先这是一种方法
public static int GetExecteQuery()
{
SqlConnection conn = new SqlConnection(CONN_STRING);//在这里CONN_STRING也就是连接sqlserver数据库的语句
conn.Open();//打开
SqlCommand command = conn.CreateCommand();//在这里也可以写成SqlCommand command=new SqlCommand();
SqlTransaction transaction = null;
transaction = conn.BeginTransaction(); //这两句也可以写成 SqlTransaction transaction =new SqlTransaction();
command.Connection = conn;
command.Transaction = transaction;
int count = 0;
try
{
command.CommandText = "insert into company values('AA','AAAA','true','null')";
command.ExecuteNonQuery();
command.CommandText = "insert into company values('AA','AAAA','tru1e','null')";
count = command.ExecuteNonQuery();
transaction.Commit(); //进行执行
}
catch
{
transaction.Rollback();//发生异常进行回滚
}
return count;
}
关于mysql
MySqlCommand mySqlCmd = new MySqlCommand();
MySqlConnection mySqlConn = new MySqlConnection(connStr);
try
{
if (mySqlConn != null && mySqlConn.State == System.Data.ConnectionState.Closed)
{
mySqlConn.Open();
}
mySqlCmd.Connection = mySqlConn;
mySqlCmd.Transaction = mySqlConn.BeginTransaction();
mySqlCmd.CommandType = System.Data.CommandType.Text;
for (int i = 0; i < sqls.Count; i++)
{
mySqlCmd.CommandText = sqls[i].ToString();
mySqlCmd.ExecuteNonQuery();
}
mySqlCmd.Transaction.Commit();
return true;
}
catch (Exception)
{
mySqlCmd.Transaction.Rollback();
throw;
}
finally
{
this.CloseConn();
}