有这样一段代码:
             'select * from buymachine where date<='+''''+maskedit1.text+''''
maskedit1.text输入的是2002-11
而date字段的值是2002-11-12
我怎样有语句把让date字段的值与maskedit1.text 的值匹配????
谢谢大家拉!!!!!!

解决方案 »

  1.   

    'select * from buymachine where date<='''+maskedit1.text+''''
    就可以了
      

  2.   

    自动补全maskedit1中的日期格式不久行了
      

  3.   

    如果date是datetime类型的话
    'select * from buymachine where Year(date) < ' + Copy(MaskEdit1.Text, 1, 4) + ' or Year(date) = ' + Copy(MaskEdit1.Text, 1, 4) + ' and Month(date) <= ' + Copy(MaskEdit1.Text, 6, 2)
      

  4.   

    日期大于等于本月01日而小于下月01日
    日期>=StrToDate(maskedit1.text+'-01');
    日期<StrToDate(maskedit1.text+'-01')+DaysInAMonth(本月)
    上述方法具体用法查帮助
      

  5.   

    最好是用datetimepicker做倆個日期.這樣可以查詢某一天,也可查詢某一段時間.
    select * from employee where leave_start>='+''''+datetostr(datetimepicker1.date)+''''+'and leave_state<='+''''+datetostr(datetimepicker2.date)+'''');
      

  6.   

    你可以采取这样的办法
    //years and months is word
    //dates is string
    years:=yearof(strtodate(maskedit1.text+'-01'));
    months:=monthof(strtodate(maskedit1.text+'-01'));
    dates:=inttostr(years*12+months);
    select * from emploayee where year(date)*12+month(date)<='+''''+dates+'''';
    不妨试试!!