2011-01-23 51 views
3

我使用SQLite數據庫瀏覽器驗證該表不包含任何行。我瀏覽了查詢構建器代碼以獲取生成的查詢並在SQLite數據庫瀏覽器中運行查詢。該查詢返回零行。但是,Android的SQLiteQueryBuilder.query方法返回的遊標在cursor.moveToFirst()調用上返回true,並返回空值。Android數據庫(SQLite)從空表中返回一個非空遊標

之前有人看過類似的東西嗎?

+0

好的:我想這是因爲我在查詢中使用MAX聚合函數。這可能是一個錯誤,可能是?我現在使用一種限制條款而不是MAX來排序。 – pballs 2011-01-25 17:39:38

回答

3

好的:我想這是因爲我在查詢中使用MAX聚合函數。這可能是一個錯誤,可能是?我現在使用一種限制條款而不是MAX來排序。

0

我認爲你應該這樣做:

if (c.getCount()>0) { 
    c.moveToFirst(); 
0

moveToFirst作爲moveToPosition(0)實際實施。 moveToPosition是AbstractCursor中定義的最終方法。查看代碼,您可以看到結果部分取決於getCount。在你的情況下,getCount似乎返回一個非零值。

看看'_id'列的價值是什麼,並嘗試刪除它。或者,在重新創建數據庫(調用'drop table',然後'create table')後嘗試調用該代碼。

相關問題