String connetStr =
"server=127.0.0.1;user=root;password=root;database=minecraftdb;"
;
MySqlConnection conn = new MySqlConnection(connetStr);
conn.
Open
();//必须打开通道之后才能开始事务MySqlTransaction
transaction
= conn.BeginTransaction();//事务必须在try外面赋值不然catch里的
transaction
会报错:未赋值Console.WriteLine(
"已经建立连接"
);try{ string
date
= DateTime.Now.
Year
+
"-"
+ DateTime.Now.
Month
+
"-"
+ DateTime.Now.
Day
; string sql1=
"insert into user(username,password,registerdate) values('啊宽','123','"
+
date
+
"')"
;
MySqlCommand cmd1 = new MySqlCommand(sql1,conn);
cmd1.ExecuteNonQuery(); string sql2 =
"insert into user(username,password,registerdate) values('啊宽','123','"
+
date
+
"')"
;
MySqlCommand cmd2 = new MySqlCommand(sql2, conn);
cmd2.ExecuteNonQuery();
}catch (MySqlException ex)
{
Console.WriteLine(ex.Message);
transaction
.
Rollback
();//事务ExecuteNonQuery()执行失败报错,username被设置
unique
conn.
Close
();
}finally{ if (conn.State != ConnectionState.Closed)
{
transaction
.
Commit
();//事务要么回滚要么提交,即
Rollback
()与
Commit
()只能执行一个
conn.
Close
();
}
}