<font color=red>2001年以后的日期问题,你见过这么有趣的问题吗?我就见过。快进来看看吧!</font> (300分)

  • 主题发起人 主题发起人 程云
  • 开始时间 开始时间
实在没招干脆把日期型字段改成数字存储.
如果你用DATETIMEPICKER来显示:
dtpTest.Date := cdsTest.FieldByName('DATEFIELD').AsFloat;/ASINTEGER
写入:
....Trunc(dtpTest.Date)...
其他显示/输入方式自己看着办:)
 
这并不是解决的方法吧。
可我有的模块没这问题的,
嗨天知道为何这个样子。
 
实际上,我在自己的数据库里头都是用8位的字符类型来存储日期信息的。
虽然编程的时候会麻烦,但对于简单一些的程序也算不了什么,可以克服因为不同的组件、操作系统等产成的问题。
 
會不會中毒了!?
 
是不是格式的原因,美国的和欧州是不一样的。
 
>>2001-04-08会变为2004-08-01
>>2001-12-08会变为2012-08-01
合理的解释就是你client端的短日期格式为MM-DD-YY而数据库端为YY-MM-DD
 
不,我的服务端同客户端一样,都是
yyyy-mm-dd HH:mm:ss
我要用日期时间形的
 
从三层过来后,在客户端就只有日期了,而我没出现这个问题的模块会显示时间,
----你的显示和输入日期时间控件是什么?
 
第一:没有病毒的问题,我在不少机器上试,都有这问题。
第二:数据库的字段定义不能改的,因为这个软件比较大,又只有这一个模块有这问题,要改可变的太大了。
第三:也不是日期格式的问题,我使用的是同一种格式。
第四:我只是用最普通的栅格来显示修改它们,可还是……
嗨!好头病呀!是来是千年虫来了。
 
附加功能
如果有人参与讨论这个问题,请用EMail通知我
 
我认为可以将同一个关于日期的SQL语句在不同的地方处理,也许可以看出什么问题:
1。在数据库服务器上,如果他的结果就是错误的---》不是DELPHI的问题
2。在数据库客户端上,如果他的结果就是错误的---》不是DELPHI的问题
3。在DELPHI的SQL EXPLORER中执行,如果错误----》不是程序的问题,而是DELPHI设置有问题
4。程序有问题
 
现在我给大伙儿通报一下,我的最新测试结果,
这现象只在使用ADO走三层时出现,并用的是JET4数据引擎。
在使用BDE时,没有问题,
在使用ADO任何一种数据引擎走二屋结构时,没有问题,
在使用ADO的ODBC专用引擎时,也没问题。
当使用ADO专为ACCESS开发的Jet4数据引擎时出现这种问题。
看来问题应出在ADO上,<font color=red>难道ADO有千年虫问题?</font>
 
GAME IS OVER
 
to 笑傲江湖:
你干什么呀!这个问题还远未结束,
就是ADO中有BUG,可我的其它模块中并没这个问题,
所以一定有个解决的方法,希望大伙儿帮我想想。
 
就是ADO中有BUG,可我的其它模块中并没这个问题...
----1.把这个模块中的数据访问控件删掉,从你那"其它"的好模块里考一份过来试一试
2.把这个模块中的数据访问控件删掉,从DELPHI的IDE的VCL元件板上重新拎一份过来
试一试
 
你有没有安装Delphi升级包呀?
(不管有没有,不用回答我,我没有选择email通知)
 
to 笑傲江湖:
你说的我早已试过了,没有用的。
to 温柔一刀:
我装了也是没有用的,
看来得去技术支持了,得等他上班后才可。
 
见鬼了,我等 email 通知
 
这下可好了,问题终于解决了,
昨天下午去客户哪儿,
终于搞定它了,
多谢大伙儿的帮助,
由其是"笑傲江湖"兄的大力支持,我会给你100分的,
至于剩下来的200分,大伙儿就分了吧。
算是新年,送大家的礼物了。
哈哈!没人有意见吧。
 
后退
顶部