2016-09-21 96 views
0

我想爲我的Objective C項目中的FMDB編寫一個SQL查詢。如果日期列選擇行如果日期列之間開始和結束日期FMDB請求

我的表格由id,num_of_items,startDate,endDate組成。

我的查詢看起來像這樣

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

運行此代碼我收到以下錯誤的應用程序崩潰後

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

日期列包含長值然而,當我已籤兩lstartDate和lendDate都在該列的數據庫表中。

我之後的結果是輸出中包含開始日期和結束日期之間的所有值。

+0

我想這不是你向我們顯示的那條線是產生這個錯誤。查找包含'TRUNCATE' sql命令的查詢 – RiggsFolly

回答

1

試着把單引號放在?的兩邊。像這樣:

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

這工作!謝謝 – HurkNburkS

+0

Mike,只是後續問題,您可能可以提供幫助,我的查詢不會返回任何值,但是開始日期和結束日期都顯示在日期列中。爲什麼它不會返回日期? – HurkNburkS

+0

我有點困惑,爲什麼你在表本身有開始和結束的日期,當然你只會在表中有一個日期,然後在該日期運行查詢。您正在執行的查詢是查找名爲'date'的列,並返回'date'在指定日期之間的行。我第一次沒有注意到,因爲我只是看着你的語法。 – Mike

相關問題