首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET的循环有关问题,有代码,请问下

2012-02-23 
ASP.NET的循环问题,有代码,请教下!这是我写的一个订餐系统的统计页面的代码,我想通过for循环得到一个时间

ASP.NET的循环问题,有代码,请教下!
这是我写的一个订餐系统的统计页面的代码,我想通过for循环得到一个时间段内的某个部门的订餐数量TextBox_BookMorningCountTotal.Text,
其中一些代码,比如where.tostring()可以不用管,是我之前写的一些查询控制条件。
我的问题是在累加的问题上, //sumNoon+=sumNoon; 或 //sumMorning =sumMorning + sumMorning; 
我使用这种形式得到的结果有问题,所以想请教下应该怎么累加?急哦!
  DateTime t1 = Convert.ToDateTime(WebCalendar1.Text);
  DateTime t2 = Convert.ToDateTime(WebCalendar2.Text);
  TimeSpan ts = t2 - t1;
  int datecount = ts.Days;
  for (int i = 0; i <= datecount;i++ )
  {
  dt1 = this.WebCalendar1.Text;
  DateTime date = Convert.ToDateTime(dt1);
  date=date.AddDays(i);
  week =CommonFunction.Week(date);
  weekday = ((int)date.DayOfWeek ) % 6 ;
  string sql_sum = "";
  object obj;

  /* 获取员工订餐早餐订餐数量 */
  sql_sum =string.Format(
  @"Select Sum(BookMorningCheck{0}) AS BookMorningCheckTotal From Dinner Where" + where.ToString(), weekday.ToString()
  );
  obj =DbHelperSQL.GetSingle(sql_sum);
  int sumMorning= (obj != null) ? Convert.ToInt32(obj) : 0;
  //sumMorning =sumMorning + sumMorning; 

  this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
  this.TextBox_BookMorningCountTotal.Text =sumMorning.ToString();

  /* 获取员工订餐中餐订餐数量 */
  sql_sum =string.Format(
  @"Select Sum(BookNoonCheck{0}) AS BookNoonCheckTotal From Dinner Where" + where.ToString(), weekday.ToString()
  );

  obj =DbHelperSQL.GetSingle(sql_sum);
  int sumNoon = (obj != null) ? Convert.ToInt32(obj) : 0;
  //sumNoon+=sumNoon;
  this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
  this.TextBox_BookNoonCountTotal.Text = sumNoon.ToString();

  /* 获取员工订餐晚餐订餐数量 */
  sql_sum = string.Format(
  @"Select Sum(BookEveningCheck{0}) AS BookEveningCheckTotal
  From Dinner
  Where" + where.ToString(), weekday.ToString());
  obj = DbHelperSQL.GetSingle(sql_sum);
  int sumEvning = (obj != null) ? Convert.ToInt32(obj) : 0;
  //sumEvning =sumEvning +sumEvning;

  this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
  this.TextBox_BookEveningCountTotal.Text = sumEvning.ToString();

  this.TextBox_All.Text = (sumMorning + sumNoon + sumEvning).ToString();
   

  }
 

[解决办法]

C# code
     //应该在循环外面定义变量,循环内累加  

    DateTime t1 = Convert.ToDateTime(WebCalendar1.Text);
    DateTime t2 = Convert.ToDateTime(WebCalendar2.Text);
    TimeSpan ts = t2 - t1;
    //定义累加变量,初始化为0
    int sumMorning=0;
    int sumEvning=0;
    int sumNoon =0;
    int datecount = ts.Days;
    for (int i = 0; i <= datecount;i++ )
    {
      dt1 = this.WebCalendar1.Text;
      DateTime date = Convert.ToDateTime(dt1);
      date=date.AddDays(i);
      week =CommonFunction.Week(date);
      weekday = ((int)date.DayOfWeek ) % 6 ;
      string sql_sum = "";
      object obj;

      /* 获取员工订餐早餐订餐数量 */
      sql_sum =string.Format(
                @"Select Sum(BookMorningCheck{0}) AS BookMorningCheckTotal From Dinner Where" + where.ToString(), weekday.ToString()
                );
      obj =DbHelperSQL.GetSingle(sql_sum);
      //int sumMorning= (obj != null) ? Convert.ToInt32(obj) : 0;
      sumMorning+=(obj != null) ? Convert.ToInt32(obj) : 0;

      //this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
     

      /* 获取员工订餐中餐订餐数量 */
      sql_sum =string.Format(
              @"Select Sum(BookNoonCheck{0}) AS BookNoonCheckTotal From Dinner Where" + where.ToString(), weekday.ToString()
              );

      obj =DbHelperSQL.GetSingle(sql_sum);
      //int sumNoon = (obj != null) ? Convert.ToInt32(obj) : 0;
      sumNoon+= (obj != null) ? Convert.ToInt32(obj) : 0; 
      //this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
     
      /* 获取员工订餐晚餐订餐数量 */
      sql_sum = string.Format(
      @"Select Sum(BookEveningCheck{0}) AS BookEveningCheckTotal
              From Dinner
              Where" + where.ToString(), weekday.ToString());
      obj = DbHelperSQL.GetSingle(sql_sum);
      //int sumEvning = (obj != null) ? Convert.ToInt32(obj) : 0;
      //sumEvning =sumEvning +sumEvning;
      sumEvning += (obj != null) ? Convert.ToInt32(obj) : 0;

      //this.TextBox_SQL.Text = this.TextBox_SQL.Text + "\n" + sql_sum;
     

       

  }
  this.TextBox_BookMorningCountTotal.Text =sumMorning.ToString();
  this.TextBox_BookNoonCountTotal.Text = sumNoon.ToString();

  this.TextBox_BookEveningCountTotal.Text = sumEvning.ToString();
  this.TextBox_All.Text = (sumMorning + sumNoon + sumEvning).ToString();

热点排行