急问,关于时间短格式的问题(50分)

  • 主题发起人 主题发起人 fyxw2000s
  • 开始时间 开始时间
F

fyxw2000s

Unregistered / Unconfirmed
GUEST, unregistred user!
accsee数据库
表里 date 表示日期(年月日),time分为10:00和18:00两种

select * from total

date 2001-12-4是好的

time 结果变成了1899-12-30 10:00

怎么办?,急死我了
 
文件型数据库对日期的格式显示不方便。还
不如用char类型来表示好些。
 
在access 中,设置字段格式为短格式, 不会有问题(access97+delphi通过)
 
在Access中Time只是DateTime中的Time部分,而Delphi中Date与Time都是TDataTime,
所以在Delphi中10:00变成了1899-12-30 10:00,
如果用Date+Time就可以了。
 
可采用tdatetimepicker控件今字段 time=datetimepicker.time
 
1899-12-30这个日期应该是accsee数据库日期字段默认的日期值,取time值时,人为地去
掉前面日期即可。
 
没办法吗?
 
time 结果变成了1899-12-30 10:00
==>一点没有错,表示日期值为0,关键在于你的显示格式
如该字段仅用于表示时间,将该字段的显示格式设定为时间格式
如日期、时间混用,则处理DrawColumnCell事件,用代码判定显示日期或时间,
自己在画布上写格式化显示。
 
能说的详细点,或给出一个例程吗?
 
我认为还是将“时间”字段设置为Tstring型的为好。
 
没办法了
 
OnDrawColumnCell Event:

with DBGrid1.Canvas do
begin
if Field.DataType in [ftDate, ftDateTime] then
begin
if Field.AsDateTime = 0 then
FillRect(Rect);
end;
end;
 

Similar threads

后退
顶部