2016-09-21 20 views
0

私は私のObjective CプロジェクトにあるFMDBのSQLクエリーを作成しようとしています。日付の場合行を選択します。列は開始日と終了日の間です。FMDBリクエスト

私のテーブルは、id、num_of_items、startDate、endDateで構成されています。

私のクエリは、このコードは、日付列が長い値が含まれ

[1210:2007096] DB Error: 1 "near "TRUNCATE": syntax error" 
[1210:2007096] DB Query: TRUNCATE mytablename 

アプリがクラッシュした後、私は次のエラーを取得しています実行したときしかし、私は両方のlstartDateをチェックして、この

FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN ? AND ? ", lstartDate, lendDate]; 

のように見えますおよびlendDateは両方ともその列のデータベーステーブルにあります。

結果は、開始日から終了日までの間のすべての値が出力に含まれています。

+0

私はこのエラーを生成している私たちに示す行ではないと思います。 'TRUNCATE' sqlコマンドを含むクエリを探してください – RiggsFolly

答えて

1

「?」の両側に一重引用符を入れてみてください。このように:

FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN '?' AND '?' ", lstartDate, lendDate]; 
+0

これはうまくいきました!ありがとうございます – HurkNburkS

+0

マイク、あなたが助けることができるかもしれない質問に従うだけで、私のクエリは、開始日と終了日の両方が日付列に表示されます。なぜそれは戻って日付ではないでしょうか? – HurkNburkS

+0

テーブル自体に開始日と終了日があるのはなぜか分かりません。確かに、テーブルに日付を入れ、その日にクエリを実行するだけです。あなたが実行しているクエリは、 'date'という列と、 'date'が指定された日付の間にある行を返します。私はあなたの構文だけを見ているので、私は最初の周りをキャッチしていませんでした。 – Mike

関連する問題