在Delphi中判斷使用者是否有超期未還的書本 Delphi / Windows SDK/API
http://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函數。