在Delphi中判断用户是否有超期未还的书本 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061225162553113.html
我使用了BDE来连接数据库,想判断一下数据库表中的用户是否有借阅超期未还的书本,应该怎样写哦~~(我使用了query,table,database,DBGrid,DataSource,表中已经有了所借时间,超过30天就过期)
使用query,然后查询select * from yourtable where borrowdate+30>=getdate 把结果显示在dbgrid中就可以了!
借阅时间 : TDateTime;//如果是其它类型,就需要转换,如: 借阅时间:=varToDateTime('2006-12-2')
if now < incday(借阅时间,30) then
showmessage('在借阅期中')
else
showmessage('过期了!');
忘记说:
1、需要引用sysUtils单元(uses sysUtils;)
2、把 < 换成 <=
select * from yourtable where borrowdate+30>=getdate 中的borrowdate和getdate格式如何写哦~~能举个例子吗~~
getdate如何写哦~~我要getdate是现在系统时间哦~~格式要yyyy-mm-dd哦
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天应该如何写哦~~
我替一楼回答一下吧:
'select 借书证号码,所借日期 from lend where 借书证号码=:qame and 所借日期>dateadd("d",30,现在日期) '
我没有试验哦~~ 一起测试一下吧~~ 其实查一下VBScript函数大全应该会找到这样的函数的
我已经测试了,完全可以!
SQL.text := ' select * from lend where 日期 > dateadd("d",30,now) ' ;
具体是用> 还是用 < ,由楼主自己决定吧!反正 dateadd("d",30,now) 就等于今天+30天!
~~注意单位是天(d)
楼主遇到这类的SQL语句不会写的问题,一是可以从网上找SQL相关资料,再是可以找VBScript函数。