在 TFDTable.Filter 表达式中使用时找不到 DATETIME 函数
DATETIME function not found when used in TFDTable.Filter expression
我正在使用带有 SQLite 驱动程序的 FireDAC。 (Delphi 东京 10.2.3)
在查询表达式中使用 DATETIME
效果很好:
with Query1 do
begin
Close;
SQL.Text := 'select DATETIME(start_time) from times where ' +
'DATETIME(start_time) >= DATETIME("2019-02-01 00:00:00")';
Open;
....
end;
但是,如果我尝试将类似的表达式分配给 TFDTable.Filter:
tblTimes.Filter := 'DATETIME(start_time) >= DATETIME("2019-02-01 00:00:00")';
tblTimes.Filtered := True;
导致此错误:
[FireDAC][Stan][Eval]-100. Column or function [DATETIME] is not found. Hint: if the name is a function name, then add FireDAC.Stan.ExprFuncs to uses clause
注意:FireDAC.Stan.ExprFuncs 已经在使用子句
怎么了?这样的表达式可以用在 Filter 子句中吗(在 D7 中使用 aducom 组件对我来说效果很好)?
试试这个:
tblTimes.Filter := 'start_time >= {dt 2019-02-01 00:00:00}';
tblTimes.Filtered := True;
请阅读以下内容:
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Preprocessing_Command_Text_(FireDAC)
我正在使用带有 SQLite 驱动程序的 FireDAC。 (Delphi 东京 10.2.3)
在查询表达式中使用 DATETIME
效果很好:
with Query1 do
begin
Close;
SQL.Text := 'select DATETIME(start_time) from times where ' +
'DATETIME(start_time) >= DATETIME("2019-02-01 00:00:00")';
Open;
....
end;
但是,如果我尝试将类似的表达式分配给 TFDTable.Filter:
tblTimes.Filter := 'DATETIME(start_time) >= DATETIME("2019-02-01 00:00:00")';
tblTimes.Filtered := True;
导致此错误:
[FireDAC][Stan][Eval]-100. Column or function [DATETIME] is not found. Hint: if the name is a function name, then add FireDAC.Stan.ExprFuncs to uses clause
注意:FireDAC.Stan.ExprFuncs 已经在使用子句
怎么了?这样的表达式可以用在 Filter 子句中吗(在 D7 中使用 aducom 组件对我来说效果很好)?
试试这个:
tblTimes.Filter := 'start_time >= {dt 2019-02-01 00:00:00}';
tblTimes.Filtered := True;
请阅读以下内容: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Preprocessing_Command_Text_(FireDAC)