2014-02-14 77 views
0

我有一個問題,我正在編寫一個搜索查詢來根據日期範圍進行搜索,該日期範圍是字符串格式。 問題是我無法在指定的兩個日期範圍之間進行查詢。根據日期範圍查詢sqlite-net數據庫的錯誤

這是我的查詢::

String query = "SELECT DISTINCT * FROM Object WHERE ((TransactionAccount = '" + parameter + "') AND (CAST(Amount AS REAL) BETWEEN " + min_amount + " AND " + max_amount + ") AND Date BETWEEN Date(2012-01-02) AND Date(2014-01-02) ) "; 

querylist = dbConn.Query<Passbook_transaction.Object>(query).ToList<Passbook_transaction.Object>(); ; 

但它返回SQLite的例外。

該錯誤似乎是在「日期」,因爲刪除日期查詢工程。

+0

什麼是確切的錯誤信息? – Servy

+0

日期是函數的名稱和列的名稱?我可以在這裏看到衝突。順便說一下,你確定Date(函數)只需要一個參數而不用字符串引用? – Steve

+0

嗨,現在它不返回錯誤,但查詢列表大小顯示爲空。即使這些日期範圍之間有交易。 – ASP

回答

1

通過在格式添加日期分貝 「:毫米SS YYYY-MM-DD HH」 排序出來的問題查詢如下:

String query = "SELECT DISTINCT * FROM Object WHERE ((TransactionAccount = '" + parameter + "') AND (CAST(Amount AS REAL) BETWEEN " + min_amount + " AND " + max_amount + ") AND TDate BETWEEN Date('2014-01-01 19:45:46') AND Date('2014-02-01 19:05:43') ) "; 

感謝大家的意見和解答。

1

嘗試此,引用日期:(這是由SQLite的接受)和使用

String query = "SELECT DISTINCT * FROM Object WHERE ((TransactionAccount = '" + parameter + "') AND (CAST(Amount AS REAL) BETWEEN " + min_amount + " AND " + max_amount + ") AND Date BETWEEN Date('2012-01-02') AND Date('2014-01-02') ) "; 
+0

感謝您的幫助。 – ASP