起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 265|回复: 12

服务器的操作系统由32位改为64位,发现关于日期的问题

[复制链接]
发表于 2009-8-10 16:34:48 | 显示全部楼层 |阅读模式
我们的服务器操作系统,由32位的操作系统,改为64位的操作系统。发现以前做的关于日期时间的查询产生了错误的数据。我做了一个查询,有一个表字段的类型为日期时间,表现为日期时间。我建了一个数据集。sql 语句是这样的。SELECT ZGSZCCPZB.SQBH, ZGSZCCPZB.SQR, ZGSZCCPZB.SQRQ, ZGSZCCPZB.SKDW, ZGSZCCPZB.YXMC, ZGSZCCPZB.ZH, ZGSZCCPZB.FJZS, ZGSZCCPZB.FKR6, ZGSZCCPZB.BZ1, ZGSZCCPMXB.HJKM, ZGSZCCPMXB.YT, ZGSZCCPMXB.JE, ZGSZCCPMXB.BXR, ZGSZCCPZB.FKRQ6
  FROM ZGSZCCPZB, ZGSZCCPMXB
  WHERE ZGSZCCPZB.SQBH = ZGSZCCPMXB.SQBH and ZGSZCCPZB.FKRQ6 >= :ks1 and ZGSZCCPZB.FKRQ6 <= :js1 and ZGSZCCPZB.FKFS IS NOT NULL and ZGSZCCPZB.BZ1 = :a and ZGSZCCPZB.BZ3 = 1
  ORDER BY ZGSZCCPZB.SFDW, ZGSZCCPZB.SQBH
其中 ks1 和js1  为日期型的参数。我在查询分析器差是没有问题的,但我写代码,查询的时候,发现,结果是不正确的。

001.jpg

105.86 KB, 下载次数: 129

回复

使用道具 举报

发表于 2009-8-10 16:37:08 | 显示全部楼层
跟踪一下这两个日期参数的值。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-10 16:38:26 | 显示全部楼层
本来要过滤出09年08月01日到09年08月7日的数据,竟然把09年07月31日的数据过滤出来了。如果我用查询分析器,用sql语句结果是正确的。而且这是很早以前写的代码,都用了很久了,一直没有问题,等换了服务器就突然发现有这样的问题。请求帮助
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-10 16:40:58 | 显示全部楼层
代码非常简单
DataGrid1.DataSource := DataSetBroker4;
        DataSetBroker4.DataSet.close;
        DataSetBroker4.DataSet.Params.ParamByName('ks1').AsDateTime:=DateTimePicker1.DateTime;
        DataSetBroker4.DataSet.Params.ParamByName('js1').AsDate:=DateTimePicker2.DateTime;
        DataSetBroker4.DataSet.Params.ParamByName('a').AsInteger:= bz;
        DataSetBroker4.DataSet.open;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-10 16:46:35 | 显示全部楼层
贴错了
DataGrid1.DataSource := DataSetBroker4;
        DataSetBroker4.DataSet.close;
        DataSetBroker4.DataSet.Params.ParamByName('ks1').AsDateTime:=DateTimePicker1.DateTime;
        DataSetBroker4.DataSet.Params.ParamByName('js1').AsDateTime:=DateTimePicker2.DateTime;
        DataSetBroker4.DataSet.Params.ParamByName('a').AsInteger:= bz;
        DataSetBroker4.DataSet.open;
回复 支持 反对

使用道具 举报

发表于 2009-8-10 16:49:31 | 显示全部楼层
是否还有其他类似的功能也有类似的问题?

你调试运行看看,上面的日期得到后,放到上面sql中,拿这个sql去执行看看结果如何。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-10 16:51:40 | 显示全部楼层
是的,凡是在数据库中查询日期时间的都是这样。我在sql server 查询分析器中,运行以上sql语句是没有问题的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-10 17:06:56 | 显示全部楼层
顶一下,请跟进
回复 支持 反对

使用道具 举报

发表于 2009-8-10 17:15:18 | 显示全部楼层
你直接把条件写到sql中,不用参数的形式,然后把sql输出来看看。
回复 支持 反对

使用道具 举报

发表于 2009-8-10 17:33:26 | 显示全部楼层
留下你的qq,远程看看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 05:32 , Processed in 0.040328 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表