事情是这样的,在下VB小菜鸟,现在有个数据表medicine,存储各种药品信息,关键字有yxqz(有效期至) 主键mph(药品批号)
我想实现一个功能:按一下按钮,将表中7天以内即将过期的药品信息通过adodc控件和DateGrid控件显示出来
我曾经试过将表中数据全部导入数组逐个进行比较,再将满足条件的yxqz赋值到另外个数组,再逐个查询显示。
过程中遇到很大问题,第一个就是数据格式问题,改了N遍,在查询数据库的时候老是数据类型不匹配,另外其实我也不知道我想的这个办法能不能实现
希望哪位大哥能够帮我写个代码,毕业设计需要,万分感谢啊,或者能够给我提供点设计思路也好··再次感谢啊···

解决方案 »

  1.   

    select * from medicine where datediff('d',yxqz,date())<=7
    返回这个查询记录集就行了
      

  2.   

    想了想,是即将过期,那就不包含已经过期的数据,改下
    select * from medicine where datediff('d',now,yxqz)<=7 and yxqz>=now
      

  3.   

    select * from medicine where datediff(day,yxqz,getdate()) <=7
      

  4.   

    都没说是啥数据库啊
    要是Oracle,且指的是不包括当天的7天可用如下SQL,要求yxqz是日期字段
    select * from medicine where yxqz-trunc(sysdate)>0 and yxqz-trunc(sysdate)<=7
      

  5.   

    补充说明是ACCESS数据库的··yxqz是时间/日期格式的