请帮助分析下面的语句为什么在2000下可以,在98下不行?

hbczlp 2003-09-30 08:26:27
if(FrmDM->ADOQuery_Temp->FieldByName("hy_yxrq")->AsString<FormatDateTime("yyyy-mm-dd",Now()))
{
Application->MessageBox("此会员卡已经过期!","会员购买",MB_ICONSTOP|MB_OK);
}
数据库中的hy_yxrq是大于现在的日期的,编译的程序在win2000下运行结果正确,但在win98中运行时全部是会员卡已经过期,那里和操作系统有关?
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
duduwolf 2003-09-30
  • 打赏
  • 举报
回复
转换成日期时间专用格式,最好再区域选项里把默认的日期时间格式设为统一
Janes001 2003-09-30
  • 打赏
  • 举报
回复
同意楼上,这里最好不要用字串比较,而直接比较日期类型。日期类型可以做算术运算。
hbczlp 2003-09-30
  • 打赏
  • 举报
回复
楼上,我上面的语句不可以吗?
ljianq 2003-09-30
  • 打赏
  • 举报
回复


if(FrmDM->ADOQuery_Temp->FieldByName("hy_yxrq")->AsDateTime<Now())
{
Application->MessageBox("此会员卡已经过期!","会员购买",MB_ICONSTOP|MB_OK);

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧