//执行原子操作
//取消选题过程设计到不同表的多条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("取消失败!");