如何用datetimepicker存入纯时间格式(50)

  • 主题发起人 主题发起人 yobin
  • 开始时间 开始时间
Y

yobin

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我是新手,我用三个datetimepicker开别表示:起始日期(datetimepicker1,dtkDate),起始时间(datetimepicker2,dtkTime),结束时间(datetimepicker3,dtkTime),然后把这个三个值添加到access中,用了下面的赋值:ADOQuery1.SQL.ADD('insert into table(datefrom,timefrom,timeto) values (:datefrom,:timefrom,:timeto)');ADOQuery1.Parameters.parambyname('datefrom').Value:=datetostr(datetimepicker1.Date);ADOQuery1.Parameters.parambyname('timefrom').value:=formatdatetime('HH时mm分',datetimepicker2.Time);ADOQuery1.Parameters.parambyname('timeto').value:=formatdatetime('HH时mm分',datetimepicker3.Time);access中用了保存datefrom,timefrom,timeto的格式分别为短日期,短时间,短时间,保存后,打开数据表,发现datefrom显示的是2009-3-16,timefrom显示的是11:47 timeto显示的是19:50,这个是我所想要然后我把access中的这三个值读取到dbgrid中,我用了select * from table,但读出来的timefrom变成了1899-12-30 上午 11:47,timeto变成了1899-12-30 下午 07:50 datefrom的显示是正确的,请问下大家,为什么时间读出来变成这个样子了,而不是和access中的格式一样,是不是datetimepicker的设置有问题还是哪里的语句写的有错误;
 
日期时间类型其实就是double类型,整数部分用于表示日期,小数部分用于表示时间,整数部分的0对应于日期1899-12-30日。access中只是对显示格式做了一下格式化,让你感觉保存的就是你说需要的内容,其实仍然保存了日期和时间,只不过日期为0而已。
 
感谢znxia的回答,我理解了你说的原理了,我想问那我怎样才能用datetimepicker存入单纯的时间呢,因为起始时间和结束时间我只要时间的格式,不要含有日期,哪里可以设置下或怎样转换格式,谢谢
 
只好使用varchar 啊
 
to zkktom:能给个例子看下吗
 
设置一下显示格式: TDateTimeField(Table1.FieldByName('BIRTH_DATE')).DisplayFormat:='HH:mm:ss'
 
to znxia:实在太感谢你了,让我茅塞顿开,活雷锋啊。。。
 

Similar threads

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