2017-05-04 286 views
-1

我想通過Android Studio中的SQLite製作搜索歷史記錄。 當我試圖從SQLite數據庫使用getCount(), 獲取信息時,它始終返回0.SQLite getCount()返回0

我檢查過數據庫中是否有任何數據由終端。 但是它顯示有數據的結果。 請幫幫我。

public String[][] getResult(){ 
     SQLiteDatabase db = getReadableDatabase(); 
     Cursor cursor = db.rawQuery("SELECT * FROM AlYak_History", null); 

     Log.d("getCount", valueOf(cursor.getCount())); 
     String[][] result = new String[cursor.getCount()][]; 
     cursor.moveToFirst(); 
     while(cursor.moveToNext()){ 
      for(int i = 0 ; i < 12 ; i ++){ 
       result[cursor.getPosition()][i] = cursor.getString(i+1); 
      } 
     } 

     cursor.close(); 
     db.close(); 
     return result; 
    } 
+0

使用將String.valueOf –

+0

Log.d這一個工作( getCount「,cursor.getCount()); –

回答

0

您確定連接到數據庫嗎?你的構造應該是這樣的:

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

它應該是String.valueOf()valueOf

+0

謝謝你的建議。是的,我確定使用Helper和String.valueOf()連接到數據庫。但仍然不起作用... – Campanella

+0

用'''光標cursor = db.rawQuery(「SELECT * FROM AlYak_History」,new String [] {})測試它;'''並讓我知道結果。 – matio

0

「我

public int getResultCount() { 
String countQuery = "SELECT * FROM " + TABLE_NAME; 
SQLiteDatabase db = this.getReadableDatabase(); 
Cursor cursor = db.rawQuery(countQuery, null); 
int cnt = cursor.getCount(); 
cursor.close(); 
return cnt; 

}