我使用SQLite數據庫瀏覽器驗證該表不包含任何行。我瀏覽了查詢構建器代碼以獲取生成的查詢並在SQLite數據庫瀏覽器中運行查詢。該查詢返回零行。但是,Android的SQLiteQueryBuilder.query方法返回的遊標在cursor.moveToFirst()調用上返回true,並返回空值。Android數據庫(SQLite)從空表中返回一個非空遊標
之前有人看過類似的東西嗎?
我使用SQLite數據庫瀏覽器驗證該表不包含任何行。我瀏覽了查詢構建器代碼以獲取生成的查詢並在SQLite數據庫瀏覽器中運行查詢。該查詢返回零行。但是,Android的SQLiteQueryBuilder.query方法返回的遊標在cursor.moveToFirst()調用上返回true,並返回空值。Android數據庫(SQLite)從空表中返回一個非空遊標
之前有人看過類似的東西嗎?
好的:我想這是因爲我在查詢中使用MAX聚合函數。這可能是一個錯誤,可能是?我現在使用一種限制條款而不是MAX來排序。
我認爲你應該這樣做:
if (c.getCount()>0) {
c.moveToFirst();
moveToFirst
作爲moveToPosition(0)
實際實施。 moveToPosition
是AbstractCursor中定義的最終方法。查看代碼,您可以看到結果部分取決於getCount
。在你的情況下,getCount似乎返回一個非零值。
看看'_id'列的價值是什麼,並嘗試刪除它。或者,在重新創建數據庫(調用'drop table',然後'create table')後嘗試調用該代碼。
好的:我想這是因爲我在查詢中使用MAX聚合函數。這可能是一個錯誤,可能是?我現在使用一種限制條款而不是MAX來排序。 – pballs 2011-01-25 17:39:38