SQL里的时间的输入是DataTime格式的,我想这样子查询,比如我想查询2011年7月份的存入所有信息,那么在一个DropDownList里选择7月,点击查询,在GridView里显示出来7月份所有所存入的信息。如果我想查询7月4号存入的信息,我在2个DropDownList里分别输入7月和4号,在GridView里显示出7月4号所存入的信息。现在就是SQL里面的时间是DataTime格式的,不知道怎么操作,希望达人解答。
还有就是,比如我输入的信息是账单。我在查询出7月份的账单后,在GridView里显示出来,然后想点个按钮,求当前7月份所有账单的消费总额,显示在一个Label上,不知道该怎样操作。

解决方案 »

  1.   

    between 开始时间 and 结束时间
      

  2.   

    月份查询,datediff(month,字段名,'2011-08-09')=0,天查询datediff(day,字段名,'2011-08-09')=0
      

  3.   

    我把我做的界面传上来吧,这样好说。
    日期有3个下拉菜单,分别是年月日。选择了年和月,没选择日,点击查询后就在“详细:”右边的GridView里显示当月的所有存入的信息。要是都选择了,那么就显示当日的信息。没选择年月日,但是选择了银行类型,就显示当前选择的银行所对应的存入的信息。
    其中“Column2”这个列是一个“金额”列,单击“求和”按钮就将此列所显示的金额求和,并显示在Label.text上。当然,列表会根据多条件查询的不同而改变,但是求和求的是当前显示的列表的金额之和。
    这个代码我实在是不会写,希望有好心人能指点指点。
      

  4.   

    图挂了插入链接吧
    http://hi.baidu.com/%CF%CC%D3%E3%B4%F3%C9%F1/album/item/5c3a4e5392892d0a853524df.html#
      

  5.   

    可以把你的时间类型转换成varchar类型,这样就可以用like '2011-07%'或者 between '2011-07-01' and '2011-07-02'来作为条件进行操作
      

  6.   

    还可以这样加条件where  year(字段名)=选择的年 and month(字段名)=选择的月 and day(字段名)=选择的天
      

  7.   

    直接用where date>='2011-08-09' and date <= '2010-08-09'直接9号这一天的
      

  8.   

    问题是我选择年月日是用3个下拉菜单的,谁能给个具体的SQL语句?年月日可为空。
      

  9.   


    日期函数
    天 datediff(d,字段名,'2011-08-09')=0
    月份 datediff(M,字段名,'2011-08-09')=0
      

  10.   

    我SQL表里的字段名就一个DATE,这样也可以吗?表里就3个字段,DATE(Datetime),BANK(varchar),MONEY(float)
      

  11.   

    string sqlstr="select * from Jinzhang where 1=1 ";
            if(ddlYear.SelectedValue !="")
            {
                sqlstr += " and datediff(yy,Data,'" +Convert.ToDateTime(ddlYear.SelectedValue) + "')=0";
            }
            if(ddlMonth.SelectedValue !="")
            {
                sqlstr += " and datediff(m,Data,'" + Convert.ToDateTime(ddlMonth.SelectedValue) + "')=0";
            }
            if(ddlDay.SelectedValue !="")
            {
                sqlstr += " and datediff(d,Data,'" + Convert.ToDateTime(ddlDay.SelectedValue) + "')=0";
            }
            if (DropDownList1.SelectedValue != "")
            {
                sqlstr += " and Bank ='" + DropDownList1.SelectedValue + "'";
            }我的代码是这么写的,可是下面字符串类型转换为DateTime类型出问题了,希望有人帮忙啊
      

  12.   

    三个DroupDowmList控件的ID分别为ddlYear,ddlMonth,ddlDay。   
      

  13.   

    可以把你的时间类型转换成varchar类型,这样就可以用like '2011-07%'或者 between '2011-07-01' and '2011-07-02'来作为条件进行操作===============
    我认为这种条件去查询应该可行
      

  14.   

    最终我还是用了这个方法。改变了DATE的格式。最后一个问题就是例如“1990-4-5”这种格式,我想模糊查询中间那个4,就相当于查询两个“-”之间是4的所有项,Like语句怎么写?