按日期查询今日记录的疑问(请高手赐教)?急

tdsoft 2002-04-19 08:59:01
环境1 在winnt,win2000,win98(第一版)(装有CB5,VB6,Access2000)中可检索

到正确的记录(某一天的记录)。
环境2 在win98(第二版)(只装有Access2000)中不能检索到正确的记录(某一天的

记录)。
在环境2中若把“FTIME > #"+timeprew1+"# and FTIME < #"+timeprew1+"#+1";

”改为“FTIME < #"+timepr+"#”(即小于某一天的记录),例如:当timeprew1为

2000年9月20日,查询到的结果是2000年9月以前的记录。2000年9月1日至2000年9

月20日之间的记录无法查到。

好象没有进行日期的比较,只比较了年和月。同ADO的版本有关吗?
如何才能查询到某一天的记录呢?

注:数据库为Access2000,其FTIME字段的类型为“日期/时间”格式为“常规日

期”


原码如下:
AnsiString timeprew,timeprew1;
timeprew=DateTimeToStr(Now());
timeprew1=DateToStr(timeprew);
QuickReport1->ADOConnection1->Close();
QuickReport1->ADOConnection1->LoginPrompt=false;


QuickReport1->ADOConnection1->ConnectionString="Provider=Microsoft.Jet.

OLEDB.4.0;Data Source="+sqldb+";Mode=ReadWrite;Persist Security

Info=False;Jet OLEDB:Database Password=123";

QuickReport1->ADOConnection1->Connected=true;


QuickReport1->ADODataSet1->Connection=QuickReport2->ADOConnection1;

QuickReport1->ADODataSet1->CommandText="select * from db where FTIME >

#"+timeprew1+"# and FTIME < #"+timeprew1+"#+1";

QuickReport1->ADODataSet1->Open();



...全文
45 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tdsoft 2002-04-22
  • 打赏
  • 举报
回复
有关系吗?一般都是默认的,98、NT、2000应该都一样。
ping2000 2002-04-22
  • 打赏
  • 举报
回复
时间格式还取决于WINDOWS系统时间格式,
WINDOWS系统时间格式在"控制面板"的"区域选项"里设置
tdsoft 2002-04-22
  • 打赏
  • 举报
回复
问题解决了?将timeprew=DateTimeToStr(Now());
timeprew1=DateToStr(timeprew);
改为
timeprew1=Now().FormatString("yyyy-mm-dd");
就成功了。
接着无论用>、<号还是Between 都可以。
感谢
Chimae(齐藤) & borlandor(大民)
但是为什么=DateToStr(timeprew)不行呢?在Win2000却可以。DateToStr()得到的也应该是字符串格式(02-4-21)呀?
Borlandor 2002-04-19
  • 打赏
  • 举报
回复
"select * from db where FTIME Between #"+timeprew1+"# and #"+timeprew1+"#+1";

Chimae 2002-04-19
  • 打赏
  • 举报
回复
给你提个建议,日期转换成字符串格式来比较!这样不会混淆!
Geranium 2002-04-19
  • 打赏
  • 举报
回复
up

13,871

社区成员

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

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