大富翁怀旧经典——时间日期的比较(25分)

  • 主题发起人 主题发起人 restart2
  • 开始时间 开始时间
R

restart2

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Access数据库,表中有个时间/日期字段,窗体上两个DateTimePicker,现在我想响应的事件
是:如果记录中的那个时间/日期字段在那两个DateTimePicker设定的时间之间,就显示这条记录,
可是在SQL语句里面,我让它们直接比居然不行?要DateToStr(DateTimePicker1.Time)?而且还
没有记录返回?
那应该怎么写呢?大家怀旧一下,告诉我吧~~~~`````
 
用datediff()

具体使用请看SQL的帮助。
 
你在保存纪录的时候用:
Query.FieldByName.AsString:=DateTimeToStr(时间日期);
你在查询的时候用
sql:='select * from Table where shijianziduan>='+chr(39)+dattimetostr1(DateTimePicker1.value)+chr(39)
+'shijianziduan<='+chr(39)+dattimetostr1(DateTimePicker2.value)+chr(39);
也就是:你保存的值与参与比较的值必须保证必须都是DateTime型的.!!!
具体语句你再修改,抛砖引玉!!!

 
sql语句如下:
query1.sql.text:='select * from tablename where date>=#'+datetimetostr(datetimepicker1.datetime)
+'# and date<=#'+datetimetostr(datetimepicker2.datetime)+'#';
如果你的时间/日期型字段只记录日期则:
query1.sql.text:='select * from tablename where date>=#'+datetostr(datetimepicker1.date)
+'# and date<=#'+datetostr(datetimepicker2.date)+'#';
在:query1.open;
搞定。

————————给点分吧,快饿死啦——————
 
想问一下:
datetimetostr(datetimepicker1.datetime)
如果datetimepicker1.datetime的格式是
YYYY-MM-DD
或MM-DD-YYYY
或DD-MM-YY等
那datetimetostr()返回的值是否相等?
如果不相等,
'select * from tablename where date>=#'+datetimetostr(datetimepicker1.datetime)
+'# and date<=#'+datetimetostr(datetimepicker2.datetime)+'#';
会不会出错?
 
哦!是了,忘记了#号·真是失败!!
幸好只放了25分~~~``````
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
swish
S
后退
顶部