ACCESS日期数据问题(50分)

  • 主题发起人 主题发起人 lldhz
  • 开始时间 开始时间
L

lldhz

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么把ACCESS数据库中的中日期(1999-9-2)变成1999-09-02的形式
或者MASKEDIT中输入的数据时把中间的0去掉,把输入的1999-09-02变成
1999-9-2
 
你的意思是统一格式是吗
那可以用DATATIMEPICKER,它显示的是1999-9-2格式
 
你去控制面标看看区域设置中的日期设置
:)
//MASKEDIT中输入的数据时把中间的0去掉,把输入的1999-09-02
应该可以吧,不过使用MASKEDIT有个麻烦,删除已经保存的记录是会出错,因为当前值变成了
“  -  -”,而不是空值。
:)
 
我是在数据库查询的时候啊
……where data between # +MaskEdit1.EditText +# and #+ MaskEdit2.EditText+#
MaskEdit的输入格式类似 2002-12-01,现在数据库中的日期存储是 2002-12-1,查询
得不到结果。各位帮看看怎么改?
 
我觉得在输入后
赋给一个字符串标识符
再用关于字符串的函数进行变换成你需要的格式
和数据库中的对比
你觉得怎么样呢
 
用字符串表示
 
数据库中的日期如果是字符串类型的化,可以用formatdatetime()函数将datetimepicker中
的日期转为要求格式的字符串,然后再数据库中查询
例如
datastr='1999-9-2';
datetimepicker1.datetime=1999-09-02 //Tdatetime
可以如下操作
tempstr:=formatdatetime('yyyy-m-d',datetimepicker1.datetime)
这样tempstr的值即为'1999-9-2',formatdatetime相关参数可以看看帮助
 
不要用日期类型
用字符串,然后自已写进去最好
 
formatdatatime好象不行啊!
我就是要查询某段时间的数据,比如说6月到12的
那我就输入2002-06-01 2002-12-31进行查询。
能不能在数据库中的日期想办法啊?
 
我同意楼上的观点[:D]
 
在ACCESS数据库里面保存的并不是'2002-1-1'这中格式的数据 而是保存的离1900-1-1这一天
的天数,准确地说 是保存的是一个数字(单精度)。 所以只要我们查询插入等操作的时候
设置要系统的日期格式就行。
在delphi中 ; 设置日期格式:
shortdateformat='yyyy-mm-dd' (具体格式 根据需要);
shorttimeformat='hh--mm-ss' (具体格式 根据需要);
可以要怎么控制 怎么显示都行。
(部分控件 已经包含了格式转换);
 
最后用RXLib的DateEdit搞定了。
谢谢各位
 

Similar threads

D
回复
0
查看
835
DelphiTeacher的专栏
D
D
回复
0
查看
880
DelphiTeacher的专栏
D
D
回复
0
查看
617
DelphiTeacher的专栏
D
后退
顶部