我使用了BDE来连接数据库,想判断一下数据库表中的用户是否有借阅超期未还的书本,应该怎样写哦~~(我使用了query,table,database,DBGrid,DataSource,表中已经有了所借时间,超过30天就过期)

解决方案 »

  1.   

    使用query,然后查询select * from yourtable where borrowdate+30>=getdate 把结果显示在dbgrid中就可以了!
      

  2.   


    借阅时间 : TDateTime;//如果是其它类型,就需要转换,如: 借阅时间:=varToDateTime('2006-12-2')   if now < incday(借阅时间,30) then
          showmessage('在借阅期中')
          else
          showmessage('过期了!');
      

  3.   

    忘记说:
    1、需要引用sysUtils单元(uses sysUtils;)
    2、把 <  换成 <=
      

  4.   

    select * from yourtable where borrowdate+30>=getdate 中的borrowdate和getdate格式如何写哦~~能举个例子吗~~
      

  5.   

    getdate如何写哦~~我要getdate是现在系统时间哦~~格式要yyyy-mm-dd哦
      

  6.   

    with Query2 do
    begin
    close;
    sql.Clear;
    sql.add('select 借书证号码,所借日期 from lend where 借书证号码=:qame and 所借日期>现在时间+30天 ');
    ParambyName('qame').AsString := edit14.Text;
    open;
    ShowMessage(IntToStr(RecordCount));
    end;
    现在时间+30天应该如何写哦~~
      

  7.   

    我替一楼回答一下吧:'select 借书证号码,所借日期 from lend where 借书证号码=:qame and 所借日期>dateadd("d",30,现在日期) '
      

  8.   

    我没有试验哦~~  一起测试一下吧~~  其实查一下VBScript函数大全应该会找到这样的函数的
      

  9.   

    我已经测试了,完全可以! SQL.text := ' select * from lend where 日期 > dateadd("d",30,now) ' ;具体是用> 还是用 < ,由楼主自己决定吧!反正 dateadd("d",30,now) 就等于今天+30天!
                                                        ~~注意单位是天(d)楼主遇到这类的SQL语句不会写的问题,一是可以从网上找SQL相关资料,再是可以找VBScript函数。