如何获得毫秒的价值从一个时间戳场火鸟有德尔斐2007年
-
07-07-2019 - |
题
我有一个火鸟数据库(服务器上运行的版本2.1.3)并连接到它与德尔福2007年使用的目的[x](使用Interbase驾驶员)
我的一个数据库中的表看起来像这样的东西
CREATE TABLE MYTABLE
(
MYDATE Timestamp NOT NULL,
MYINDEX Integer NOT NULL,
...
Snip
...
PRIMARY KEY (MYDATE ,MYINDEX)
);
我可以添加到该表确定,在火焰罗宾它显示的时间戳领域为具有一毫秒的价值。
但当我做了选择所有(select * from MYTABLE
)在表我不能获得毫秒的价值,因为它总是返回000人。
这造成了重大问题,因为它是主键的一部分(不幸的是我没设计的表格并没有权力更改)。
我已经尝试了下列得到毫秒的价值:
sql1.fieldbyname('MYDATE').AsDateTime;
sql1.fieldbyname('MYDATE').AsSQLTimeStamp;
sql1.fieldbyname('MYDATE').AsStirng;
sql1.fieldbyname('MYDATE').AsFloat;
但他们的所有返回14/09/2009 14:25:06.000当的格式。
我如何检索毫秒,从一个时间戳?
更新: 在这种情况下,帮助任何人在未来,这里是驱动我试图用于[X]和结果。
- 内河码头-[x]为 火鸟 (Delphi2010年 试验版本)-毫不支持在时间戳。
- 周慈杨-[x] 司机用火鸟 (Delphi2007)-毫不支持在时间戳。
- UpScene-InterXpress 对于火鸟 (Delphi 2007)-毫秒的支持,在时间戳。
- DevArt-[x]为 InterBase (Delphi2007)-毫秒的支持,在时间戳。
解决方案
我不知道如果火鸟实际上支持毫秒,但我知道一个事实,即InterBase驱动程序用于特尔斐2007年没有。这是因为InterBase不返回毫秒在其C API;虽然InterBase存储DateTimes子-毫秒的精确度,InterBase API返回时在C TM结构,其不包含毫秒的领域。因此,[x]设计用于InterBase是不要支持。所以,你会需要的变化驱动,至少假定火鸟实际上支持这在所有。
其他提示
火鸟常见问题#305 说明如何轻松的工作围绕这可通过简单的varchar演员。
火鸟dbx驱动程序的存在(你可以尝试):
不隶属于 StackOverflow