none
C/S客户端软件 查询每月,每年数据的问题 RRS feed

  • 问题

  • 目前查询每日是已经做出来了,因为我在存储每条数据的时候是已天为单位的,所以这个很好实现!现在我想统计每月和每年的数据又该怎么处理呢?关键是我的每条数据都是天为单位,我该怎么样整合查询出每月或者每年的数据。请给我方法,并讲明原因,谢谢!我的意思是我在C/S界面中该怎么设计,比如放什么控件上去啊之类的!

    2010年6月1日 1:28

答案

  • 每天的都能查出来,每月的只是最多31天的数据,每年也就最多365天数据。

    1.修改你的查询,使之支持时间范围(between或者大于小于2个日期之间)

    2.界面上你只是要提供2个日期选择,一个是开始日期,一个是结束日期,如果想提高用户体验,还可以加一个下拉框,提供日,月,年三个选择项,如果选择月,开始日期和结束日期自动变为当月的开始和结束,以此类推。

     


    family as water
    • 已标记为答案 johnnyford 2010年6月1日 2:27
    2010年6月1日 1:36

全部回复

  • 每天的都能查出来,每月的只是最多31天的数据,每年也就最多365天数据。

    1.修改你的查询,使之支持时间范围(between或者大于小于2个日期之间)

    2.界面上你只是要提供2个日期选择,一个是开始日期,一个是结束日期,如果想提高用户体验,还可以加一个下拉框,提供日,月,年三个选择项,如果选择月,开始日期和结束日期自动变为当月的开始和结束,以此类推。

     


    family as water
    • 已标记为答案 johnnyford 2010年6月1日 2:27
    2010年6月1日 1:36
  • 假如我想通过其他条件找到每月,每年的数据呢?

    例如:我想通过产品编号查询出该编号当月一共销售了多少,类似这一类的又该怎么设计呢?

    2010年6月1日 1:54
  • 再加一个文本框 提供编号输入

    把条件都作为一个返回语句 或存储过程的参数

    比如:

     public string GetWhere() {
    
       StringBuilder where = new StringBuilder(" 1=1 ");  //头部记得 using System.Text
       if (txtProductNo.Text != "") // txtProductNo产品编号输入文本框
       {
        where.Append(" and ProductNo=" + txtProductNo.Text);
       }
       ///下面的其它类似
       /////给控件绑定数据源的时候调用这个方法
      
      }
    2010年6月1日 2:06
  • 对于这种问题,理论上可以这样(不知道对不对)

    你可以把日期取出来然后拆分,分成几分,老师教我们的时候是分成了三分,年月日,比如你要看3月份的数据你就把月份分出来存进一个变量,然后循环判断,

    我的解决方案是这样的,但是我没有试验过,希望能给你带来帮助,

     

    2010年6月1日 4:28