QuickReport控件显示0002年问题? (100分)

  • 主题发起人 主题发起人 tonmy
  • 开始时间 开始时间
T

tonmy

Unregistered / Unconfirmed
GUEST, unregistred user!
用户将2002-1-5误输入成0002-1-5,结果QuickReport报表显示到这个数据时就死机,
查看控件,发现小于0100年的数据都会产生异常,用ADO控件连接数据库在表格中显示也有这个问题,
VB中的ADO控件也是如此。但DELPHI的BDE控件没问题。
想了好久,最后用TRY...做了异常处理,凡是遇到日期型数据同时产生这样异常就返回"9999-1-1"。
假定数据库中确实已经存在0002-1-5这样的日期数据,QuickReport怎么修改才能把这个数据原本的打印出来?
注:用Oracle数据库
欢迎大家讨论,帮忙提前,谢谢。
 
实在不行,就用苯办法,搞成文本或者字符类型的解决,我就是这样做的,
有时候没有时间让你慢慢探索。[:D]
 
对,一般改用字符型比较可靠
 
用字符字段保存日期数据对查询和统计很不方便的!
 
自己用代码判断一下就好了
 
录入的时候怎么不判断呢?而且像这种日期型的最好就用datetimepicker,简单明了
 
在日期字段的字段事件onsettext中写上一句
text:=vartostr(sender.value)
 
不会有那么古老的数据把?

最好 ,在录入时加上判断。不必要用字符,如果那样,日期型还有什么用?
 
平均分配!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
后退
顶部