SQL Server 的事物操作一

//执行原子操作
                //取消选题过程设计到不同表的多条SQL语句操作
                //第1步.删除任务书表信息
                //第2步.删除开题审批表信息
                //第3步.删除中期检查表信息
                //第4步.在题目审核表中更新题目的状态为已评等级
                List<CommandInfo> SQLStringList = new List<CommandInfo>();               
                //Step1 按照任务书序号删除任务书信息表
                CommandInfo info1 = new CommandInfo();
                StringBuilder strStep1 = new StringBuilder();
                strStep1.Append(" delete from Table_rws  ");
                strStep1.Append(" where RWS_XH=@RWS_XH ");
                info1.CommandText = strStep1.ToString();  //Step1的SQL语句
                SqlParameter[] parametersStep1 = {
					    new SqlParameter("@RWS_XH", SqlDbType.BigInt,8)};
                parametersStep1[0].Value = RWS_XH;
                info1.Parameters = parametersStep1;  //Step1的参数
                SQLStringList.Add(info1);
                
                //Step2  按任务书序号删除开题审批表
                CommandInfo info2 = new CommandInfo();
                StringBuilder strStep2 = new StringBuilder();
                strStep2.Append(" delete from Table_bsktb  ");
                strStep2.Append(" where RWS_XH=@RWS_XH ");
                info2.CommandText = strStep2.ToString();  //Step2的SQL语句
                SqlParameter[] parametersStep2 = {
                        new SqlParameter("@RWS_XH", SqlDbType.BigInt,8)};
                parametersStep2[0].Value = RWS_XH;
                info2.Parameters = parametersStep2;  //Step2的参数
                SQLStringList.Add(info2);

                //Step3  按任务书序号删除中期检查表
                CommandInfo info3 = new CommandInfo();
                StringBuilder strStep3 = new StringBuilder();
                strStep3.Append(" delete from Table_zqjc  ");
                strStep3.Append(" where RWS_XH=@RWS_XH ");
                info3.CommandText = strStep3.ToString();  //Step3的SQL语句
                SqlParameter[] parametersStep3 = {
                        new SqlParameter("@RWS_XH", SqlDbType.BigInt,8)};
                parametersStep3[0].Value = RWS_XH;
                info3.Parameters = parametersStep3;  //Step3的参数
                SQLStringList.Add(info3);

                //Step4 按照毕设题目序号更新题目审核表中选题状态
                CommandInfo info4 = new CommandInfo();
                StringBuilder strStep4 = new StringBuilder();
                strStep4.Append("update Table_bstmsh set ");
                strStep4.Append("BSTM_ZT='已评等级' ");
                strStep4.Append(" where BSTM_XH=@BSTM_XH");
                info4.CommandText = strStep4.ToString();  //Step3的SQL语句
                SqlParameter[] parametersStep4 = {
					    new SqlParameter("@BSTM_XH", SqlDbType.BigInt,8)};
                parametersStep4[0].Value = BSTM_XH;
                info4.Parameters = parametersStep4;  //Step3的参数
                SQLStringList.Add(info4);

                //调用事务处理,以上4条SQL同步执行
                int flag_xt = DbHelperSQL.ExecuteSqlTran(SQLStringList);
                if (flag_xt > 0)
                {
                    LogInfo(String.Format("{0}取消选题:学生学号:“{1}”", GetIdentityName(), Stu_No));
                    //Alert.Show(result);
                    Alert.Show("取消成功!", String.Empty, ActiveWindow.GetHidePostBackReference());
                }
                else
                    Alert.Show("取消失败!");

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值