学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
 12 12
发新话题
打印

[结贴了]关于查询时间不正确的问题

[结贴了]关于查询时间不正确的问题

where a.djrq>=:lth_date1 and a.djrq<=:lth_date2

查询当天的数据查不出来,把查询条件的时间增加一天就能查出来,为什么?

比如一个登记日期是6号的记录,查询条件必须输入7号才能把这个记录查出来,输入6号就查不出来。

lth_date1、lth_date2是DATE型,a.djrq在ACCESS中设置的是日期/时间型(格式为长日期)

再就是在ACCESS里,长日期和短日期除了表现形式外(前者为1997-07-07,后者为1997/07/07)有什么不同?

在线急等

[此贴子已经被作者于2007-6-14 12:33:32编辑过]

TOP

你的DJRQ内的数据是带着时间和秒数的,建议把变量换成DATETIME看看.

TOP

刚才出去了下

哈,你也在线呀,先谢你了

其实这个程序和数据源没改之前一直也能正确查询出当天的数据的,只是加了个字段后,才出了不少问题。

就说这个变量吧,以前我用的就是DATE,DJRQ内的数据以前也是带着时间和秒数,一直好用(能正确查询出数据来)。现在这两个都没动,代码也没动,不知为什么就不好用了。

现在我按照你说的改了下,执行时出现RETRIEVE ARGUMENT 1 DOES NOT MATCH EXPECTED TYPE 的错误提示。难道还要转换?

TOP

单看这提示我也想不出什么办法了

TOP

string ls_data
Select dj_dqlc Into :ls_data From clgl_dj where dj_clbm =dw_1.GetItemSTRING(row,"dj_clbm");

ST_1.TEXT=ls_data

为什么ST_1.TEXT总是显示空白?

TOP

string ls_data,ls_dtstart,ls_dtend
ls_dtstart=string(lth_date1,'yyyy-mm-dd')
ls_dtend=string(lth_date2,'yyyy-mm-dd')

Select dj_dqlc Into :ls_data
From clgl_dj where Convert(varchar(10),djrq,121) between :ls_dtstart and :ls_dtend; //转换成字符查找
//djrp为日期型字段
//确定字段及表名已存在
ST_1.TEXT=ls_data

  希望能帮你解忧!!!

TOP

回fyh:
我问的是两个问题呀,你给捏到一块去了。
我的第二个问题是

string ls_data
Select dj_dqlc Into :ls_data From clgl_dj where dj_clbm =dw_1.GetItemSTRING(row,"dj_clbm");

ST_1.TEXT=ls_data

我想从当前dw_1窗口把当前行的dj_clbm中的内容作为检索的条件值,从clgl_dj表中找到相应的记录中指定的字段的值并保存到ls_data变量中去,但不知为什么总是空值。dj_clbm的值在clgl_dj表中唯一,没有重复的值。

TOP

where语句的值正不正确,可用查下sqlca.sqlcode的值是否为0,建议用debug调试一下

TOP

DEBUG调试没用过。
也不知道怎么用

TOP

where dj_clbm =dw_1.GetItemSTRING(row,"dj_clbm")

dw_1.GetItemSTRING(row,"dj_clbm")肯定有值,且在clgl_dj表中也肯定有唯一值。

TOP

 12 12
发新话题