【问题标题】:Insert just the date to MS access database using FireDac使用 FireDac 将日期插入 MS 访问数据库
【发布时间】:2017-06-26 09:52:05
【问题描述】:

我有一个名为Students 的表,在此表中有一个名为BirthDaydate 列,格式为Date, abbreviated(例如:26/06/2017),问题出在delphi 中Field类型是SQLTimeStamp,我只想保存Date 而不是DateTime

DM.TStudentsBirthDay.Value := DateTimeToSQLTimeStamp(DateTimePicker1.Date);

这将发布DateTime

我该如何解决这个问题?如何只插入日期?

更新:

我尝试使用TFDQuery 组件来完成它,它可以完美地工作,也可以使用TAODTable 组件。

【问题讨论】:

  • 什么是TStudentsBirthDay?您使用哪个 FireDAC 组件?你使用 LiveBindings 吗?
  • TStudents 是 FireDac 表,BirthDay 是字段,我使用的是 TFDTable 组件,不,我没有使用 LiveBindings。
  • 感谢您提供的信息,尽管我的问题可能毫无意义。恐怕FireDAC在这里是正确的,DATE数据类型在ODBC中映射到SQL_TIMESTAMP
  • @Victoria 好的,所以我不能只插入带有 fireac 组件的日期吗?这就是你想说的吗?
  • 然后尝试将字段定义定义为TDateField

标签: delphi ms-access delphi-10-seattle firedac


【解决方案1】:

感谢@Gerry Coll 提供comment

使用DateTimeToSQLTimeStamp()DateOf() 函数:

DM.TStudentsBirthDay.Value := DateTimeToSQLTimeStamp(DateOf(DateTimePicker1.Date));

效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多