using (SqlConnection connection = new SqlConnection(connectionString))
{
//事务启动是通过connection来开启
connection.Open();
SqlTransaction trans = connection.BeginTransaction();//开启一个事务
SqlCommand cmd = new SqlCommand();//利用SqlCommand执行任务
//为挂起的本地事务将事务对象和连接部分分配给命令对象
cmd.Connection = connection;
cmd.Transaction = trans;
try
{
//删除
cmd.CommandText = "delete T_User_Info where Id='1'";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Clear();
cmd.ExecuteNonQuery();
//添加
cmd.CommandText = "insert into T_User_Info (Id,Name) values('1','某某')";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Clear();
cmd.ExecuteNonQuery();
trans.Commit();//提交事务,代表所有的事务已经提交到数据库
}
catch (Exception ex)
{
//catch特定用法,从挂起状态滚回事务
trans.Rollback();
Console.WriteLine(ex.Message);
}
connection.Close();
}