C# 使用 sql sever 事务

            SqlConnection conn = new SqlConnection("Data Source=****;Initial Catalog=****;User ID=***;Password=****");
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            SqlTransaction transaction = conn.BeginTransaction(); //开始事务
         try
            {

                cmd.Connection = conn;
                cmd.Transaction = transaction;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = " select * from prediction_group   (xlock)  where prediction_date_ID=@prediction_date_ID";
                cmd.Parameters.AddWithValue("@prediction_date_ID", 4);

                SqlDataReader reader2 = cmd.ExecuteReader();
                reader2.Read();
                string sample2 = reader2["sample2"].ToString();
                reader2.Close();

                cmd.CommandText = "update   prediction_group  set sample2 = '" + sample2 + "' WHERE ID =@ID";
                cmd.Parameters.AddWithValue("@ID", 4);
                cmd.Parameters.AddWithValue("@sample2", 4);
                cmd.ExecuteNonQuery();

                transaction.Commit(); //事务完成之后提交事务



            }
            catch (Exception ex)
            {
                transaction.Rollback(); //如果事务没有完成,就回滚事务

                throw;
            }
            finally
            {
                conn.Close();

            }

 

posted @ 2020-10-20 16:59  我去其他hi  阅读(155)  评论(0编辑  收藏  举报