Mysql语句拼接

前言

       在小编最近做的一个项目是抽奖的后台,当我们新建一个活动信息的时候,会向活动主表和两个附表中分别插入信息,这个时候就用到了mysql语句的拼接,刚开始可愁坏了小编,但是一步步的做出来之后发现也就是那样吧……现在分享给大家。

实例

        首先,我们要先了解一下需求:新建一个活动,我们将活动的类型以及时间存放到活动的主表中,活动参加次数等限制存到活动附表1,活动中奖品的概率等信息存放到附表2中,一个活动可能对多个奖品有绑定。

我的思路就是从页面上将所有需要保存的信息获取到,然后将信息分别保存到相应的表中,唯一的信息拼接mysql语句,奖品信息循环拼接。

具体代码

<span style="font-size:18px;">   public static bool AddActivity(ta_activity_info activityinfoModel, ta_activity_relate activityrelateModel, ta_activity_rewardrate rewardrateModel, string[] RewardIDstr, string[] RewardSumstr, string[] RewardDaySumstr, string[] RewardRatestr, string[] RewardLevelstr, string[] ActivityRewardWinTimesstr)
      {
          var sqlList = new List<string>();
          //保存活动信息
          //向Activityinfo表中插入信息
          StringBuilder sbSql1 = new StringBuilder();
          sbSql1.Append("INSERT INTO ta_activity_info(ActivityID,ActivityName,ActivityState,ActivityBeginDate,ActivityBeginTime,ActivityEndDate,ActivityEndTime,ActivityRemark,ActivityType,ActivityRange,CreateTime,ModifyTime,Operator) VALUES");
          sbSql1.Append("('" + activityinfoModel.ActivityID + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityName + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityState + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityBeginDate + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityBeginTime + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityEndDate + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityEndTime + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityRemark + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityType + "',");
          sbSql1.Append("'" + activityinfoModel.ActivityRange + "',");
          sbSql1.Append("'" + activityinfoModel.CreateTime + "',");
          sbSql1.Append("'" + activityinfoModel.ModeifyTime + "',");
          sbSql1.Append("'" + activityinfoModel.Operator  + "');");
          //向activityrelate表中插入信息
          StringBuilder sbSql2 = new StringBuilder();
          sbSql2.Append("INSERT INTO ta_activity_relate(ActivityID,DayLotteryTimes,ShareAddTimes,WinSpaceDays,WinObjectTimes,UserWinTimes,CreateTime,ModifyTime,Operator)VALUES");
          sbSql2.Append("('" + activityrelateModel.ActivityID + "',");
          sbSql2.Append("'" + activityrelateModel.DayLotteryTimes + "',");
          sbSql2.Append("'" + activityrelateModel.ShareAddTimes + "',");
          sbSql2.Append("'" + activityrelateModel.WinSpaceDays + "',");
          sbSql2.Append("'" + activityrelateModel.WinObjectTimes + "',");
          sbSql2.Append("'" + activityrelateModel.UserWinTimes + "',");
          sbSql2.Append("'" + activityrelateModel.CreateTime + "',");
          sbSql2.Append("'" + activityrelateModel.ModifyTime + "',");
          sbSql2.Append("'" + activityrelateModel.Operator  + "');");
          //向rewardrate表中插入信息
          StringBuilder sbSql3 = new StringBuilder();
          for (int i = 0; i < RewardIDstr.Length; i++)
          {
              sbSql3.Append("INSERT INTO ta_activity_rewardrate (RewardID,ActivityID,RewardSum,RewardDaySum,RewardRate,ActivityRewardWinTimes,CreateTime,ModifyTime,Operator,RewardLevel)VALUES");
              sbSql3.Append("('" + RewardIDstr[i] + "',");
              sbSql3.Append("'" + rewardrateModel.ActivityID + "',");
              sbSql3.Append("'" + RewardSumstr[i] + "',");
              sbSql3.Append("'" + RewardDaySumstr[i] + "',");
              sbSql3.Append("'" + RewardRatestr[i] + "',");
              sbSql3.Append("'" + ActivityRewardWinTimesstr[i] + "',");
              sbSql3.Append("'" + rewardrateModel.CreateTime + "',");
              sbSql3.Append("'" + rewardrateModel.ModifyTime + "',");
              sbSql3.Append("'" + rewardrateModel.Operator  + "',");
              sbSql3.Append("'" + RewardLevelstr[i] + "');");

          };
          sqlList.Add(sbSql1.ToString());
          sqlList.Add(sbSql2.ToString());
          sqlList.Add(sbSql3.ToString());

         
          bool flag = MySqlHelper.ExecuteNoQueryTran(DBConnectionchoujiang, sqlList);
          return flag;
       
      }</span>


注意:进行语句拼接的时候只要前两句拼接出来了,后面的几乎是一样的,但是,最重要的我们要注意一下最后的标点,因为一个标点就会导致我们这个语句有问题。


总结

       大家不要以为拼接语句是一个很难的问题,其实再难只要我们去做,就会变得容易……只要我们有足够的实践和细心,没有什么是不可能的!


评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值