问一个基本的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 zcwcn
  • 开始时间 开始时间
Z

zcwcn

Unregistered / Unconfirmed
GUEST, unregistred user!
在fastreport里如下代码
begin
if [ADOQuery3."11"]<=strtotime('17:30') then
memo8.fillcolor := cl3dlight;
end
[ADOQuery3."11"] 是sqlserver里的时间类型的数据段类型为smalldatetime
我现在[ADOQuery3."11"]这个数据段在fastreport里format了一下,变成了xx:xx格式的时间类型的数据段,与上面的字段比较。假如[ADOQuery3."11"]里format以后的数据段为08:30。程序会认为他比17:30大,而不执行memo8.fillcolor := cl3dlight;
各位大虾为什么???
在线等
 
在fastreport里如下代码
begin
if [ADOQuery3."11"]<=strtotime('17:30') then
memo8.fillcolor := cl3dlight;
end
[ADOQuery3."11"] 是sqlserver里的时间类型的数据段类型为smalldatetime
我现在[ADOQuery3."11"]这个数据段在fastreport里format了一下,变成了xx:xx格式的时间类型的数据段,与上面的字段比较。假如[ADOQuery3."11"]里format以后的数据段为08:30。程序会认为他比17:30大,而不执行memo8.fillcolor := cl3dlight;
各位大虾为什么???
在线等
 
变通一下,用字符对比不就可以了吗?
begin
if format....('hh:mm',[ADOQuery3."11"])<='17:30' then
memo8.fillcolor := cl3dlight;
end
 
好象不行啊
我看了下假如[ADOQuery3."11"]为18:00
它一样会认为<=17:00
不过还是谢谢了 dzl19朋友
 
你看看关于SQL的书吧。我记得在SQL语句中,时间类型(包括时间和日期都是)要用#号在两边夹起来的。你可以自己试一试。
 
在Delphi中日期时间其实就是浮点型,整数部分表示日期,小数部分表示时间.
如果要对比日期最好将其取正在比较.
 
后退
顶部