在应用关闭并重新打开之前,日期格式无法正确显示

时间:2014-08-17 05:14:19

标签: delphi date sqlite formatting firedac

我正在使用FireDAC和SQLite3在Delphi中处理一个简单的数据库应用程序。每当我将新记录插入数据库时​​,表单上显示的日期格式始终采用yyyy-mm-dd格式,一旦我关闭并重新打开应用程序,格式将更改为m/d/yyyy,即DATE格式我期待并希望始终显示而不关闭并重新打开我的应用程序。

FireDAC连接的定义参数和选项均为默认值。在SQLite3数据库中保存日期的字段的DataType集设置为Qry.SQL.Text := 'INSERT INTO employees (HireDate) VALUES (:HiredOn)'; Qry.ParamByName('HiredOn').AsDate := DateTimePicker1.Date; Qry.ExecSQL; Qry.Open('SELECT * FROM employees'); 。最后,我用来插入记录的代码如下。

{{1}}

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用DateUtils ......

DateUtils.DateOf(DateTimePicker1.Date);

答案 4 :(得分:0)

尝试

  

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