3

我正在使用 FireDAC 和 SQLite3 在 Delphi 中开发一个简单的数据库应用程序。每当我将新记录插入数据库时​​,我的表单上显示的日期格式yyyy-mm-dd始终m/d/yyyy为无需关闭并重新打开我的应用程序。

FireDAC 连接的定义参数和选项都是默认值。为保存 SQLite3 数据库中日期的字段设置的 DataType 设置为DATE。最后,我用来插入记录的代码如下。

Qry.SQL.Text := 'INSERT INTO employees (HireDate) VALUES (:HiredOn)';

Qry.ParamByName('HiredOn').AsDate := DateTimePicker1.Date;
Qry.ExecSQL;
Qry.Open('SELECT * FROM employees');  

任何帮助,将不胜感激。

4

5 回答 5

1

确保底层 BindingSource / List / Adapter 中日期字段的任何格式设置与表单/网格字段的格式设置相匹配。可能是该字段的基础绑定格式覆盖了您对表单/网格字段的新设置。

于 2014-08-17T18:25:33.727 回答
1

将表单字段上的格式/显示设置为“m/d/yyyy” ,并且为了更好地衡量,*也可以通过InitializeGrid 事件处理程序中的代码来完成

于 2015-09-23T13:19:13.063 回答
0

尝试

FormatDateTime('dd/mm/yyyy', DateTimePicker1.Date);

于 2014-08-20T10:02:11.803 回答
0

使用 DateUtils ...

DateUtils.DateOf(DateTimePicker1.Date);

于 2014-08-17T12:34:12.353 回答
0

当表单字段上的日期格式与 SQLite3 中的“yyyy-mm-dd”不匹配时,就会发生这种情况。因此,您需要在表单字段上设置格式/显示以匹配它。

于 2014-08-17T05:22:38.253 回答