格式化 UCanAccess 的时间字段

Posted

技术标签:

【中文标题】格式化 UCanAccess 的时间字段【英文标题】:Format Time Field for UCanAccess 【发布时间】:2015-04-17 08:52:55 【问题描述】:

早安,

我在 Access 中有两个 DateTime 字段,用于保存日历日期,一个用于保存日历时间。合并或拆分后,我无法让我的 INSERT 语句使用 UCanAccess 工作(即使有些工作使用 JET 引擎)。请有人建议如何调整我在下面尝试插入行的语句?

INSERT INTO Calendar(AppDate,AppTime,AssociatedPatientID,Type,ProviderID)
   VALUES (#2015-04-16#,18:20:00.0,0,'app',1);

另外,如果可能,您能否提供一个如何插入单个字段的示例?我尝试了以下方法,但遇到了各种各样的异常:

#2015-04-16 18:20:00.0,0#

提前感谢您的帮助!

【问题讨论】:

由于 Time 也是一个 Date 组件,因此您需要将值包装在 # 标签中。但是,您只需要 HH:NN:SS 而不是毫秒部分。所以 #18:20:00# 是你使用的,而不是 18:20:00.0 或使用国际时间格式并使用字符串表达式:例如:values ("'" & format(DateValue, "yyyy-mm-dd hh:mm:ss) & "'", next value .... 谢谢@PaulFrancis!请将您的解决方案作为答案发布,以便您获得必要的功劳! 【参考方案1】:

由于时间也是一个日期组件,您需要将值包装在#标签中。但是,您只需要 HH:NN:SS 而不是毫秒部分。所以#18:20:00# 是你使用的而不是 18:20:00.0

所以你的 INSERT 语句看起来像,

INSERT INTO Calendar(AppDate, AppTime, AssociatedPatientID, Type, ProviderID)
             VALUES (#2015-04-16#, #18:20:00#, 0, 'app', 1);

很高兴为您提供帮助! :)

【讨论】:

以上是关于格式化 UCanAccess 的时间字段的主要内容,如果未能解决你的问题,请参考以下文章

GENERATED ALWAYS AS IDENTITY 使用 UCanAccess 生成不正确的表模式

使用 Java 和 UCanAccess 更新备注字段中的日期时间和字符串

ucanaccess 系统超载,怎么办?

如何在 Azure 数据砖中使用 ucanaccess(ms 访问 jdbc 驱动程序)?

UCanAccess 数据异常:数值超出范围

UCanAccess ConstraintViolationException 未被捕获