SQLite getCount()返回0

时间:2017-05-04 08:18:51

标签: java android sqlite

我正在尝试通过Android Studio中的SQLite创建搜索历史记录。 当我尝试使用getCount()从SQLite DB获取信息时, 它一直返回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;
    }

2 个答案:

答案 0 :(得分:0)

您确定要连接到数据库吗?你的构造函数应该是这样的:

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

应该是String.valueOf()而不是valueOf

答案 1 :(得分: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;

}