我在使用FireDac中的TTable过滤日期字段时遇到问题。
MySQL / InnoDB中的数据库。该字段的类型为Date。
我用来设置过滤器的代码是
Filter := 'date = ' + QuotedStr(FormatDateTime('mm/dd/yyyy', Date));
Filtered := True;
每次我在设置过滤器时遇到错误:"带有消息的EConvertError'无法解析SQL TimeStamp字符串'"或过滤器无法找到任何记录。
以上格式适用于我当前的区域设置。我也试过了“yyyy-mm-dd”。而且我已经尝试了有无引号和无引号。
答案 0 :(得分:3)
所以,我花了三个小时的时间,在我提出问题后立即找到答案。使用Preprocessor Commands:
Filter := 'date = {d ' + (FormatDateTime('yyyy-mm-dd', Date))+'}';