2

FireDac で TTable を使用して日付フィールドをフィルター処理する際に問題が発生しています。

MySQL/InnoDB のデータベース。フィールドのタイプは日付です。

フィルターを設定するために使用しているコードは

Filter := 'date = ' + QuotedStr(FormatDateTime('mm/dd/yyyy', Date));
Filtered := True; 

フィルターを設定するときにエラーが発生するたびに、「「SQL TimeStamp 文字列を解析できませんでした」というメッセージを含む EConvertError」というエラーが発生するか、フィルターがレコードを見つけられません。

上記の形式は、現在の地域設定用です。「yyyy-mm-dd」も試しました。そして、引用符の有無にかかわらず両方を試しました。

4

1 に答える 1

4

それで、私はこれに 3 時間費やし、質問をした直後に答えを見つけました。プリプロセッサ コマンドを使用します。

Filter := 'date = {d ' + (FormatDateTime('yyyy-mm-dd', Date))+'}';
于 2015-01-20T14:21:17.150 に答える