2017-05-04 15 views
-1

AndroidスタジオでSQLiteを使用して検索履歴を作成しようとしています。 getCount()を使用してSQLite DBから情報を取得しようとすると、 は0を返し続けます。SQLite getCount()は0を返します

端末ごとにDBにデータがあるかどうかチェックしました。 しかし、データがあるという結果を示しました。 私を助けてください。

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

本当にDBに接続していますか?あなたのコンストラクタは次のようにする必要があります:

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

それは私のためにString.valueOf()ないvalueOf

+0

ありがとうございました。はい、私はヘルパーとString.valueOf()を使用してDBに接続することを確信しています。しかし、まだ動作しません... – Campanella

+0

'' 'Cursor cursor = db.rawQuery(" SELECT * FROM AlYak_History "、new String [] {});' ''でテストし、結果を教えてください。 – matio

0

この1つの作業

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; 

}

関連する問題