从SQLite数据库检索数据时,Android应用程序崩溃

时间:2018-02-20 18:49:07

标签: java android sqlite android-studio android-sqlite

这是retriver方法:

public Cursor getData(String subj) {

    String selectQuery = "SELECT " + subj + " FROM " + TABLE_PRIMEIRO;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    if(cursor != null){
        cursor.moveToFirst();
    }
    return cursor;
}

这就是我在TextView中显示它的方式:

        Cursor cursor = db.getData("columnname");
        cursor.moveToFirst();
        String dataget = cursor.getString(cursor.getColumnIndex("columnname"));
        if (dataget!= null){
            textView1.setText(dataget);
        }

该应用程序是为API 23+制作的,此代码在API 23模拟器和我自己的手机(具有Android 7.1)上运行良好,但它不适用于其他手机。 (Android 7.0和6.0)。

1 个答案:

答案 0 :(得分:0)

通过更改:

修正了它
    Cursor cursor = db.getData("columnname");
    cursor.moveToFirst();
    String dataget = cursor.getString(cursor.getColumnIndex("columnname"));
    if (dataget!= null){
        textView1.setText(dataget);
    }

要:

    Cursor cursor = db.getData("columnname");
    cursor.moveToFirst();
    if (cursor.moveToFirst()){
        String dataget = cursor.getString(cursor.getColumnIndex("columnname"));
        if (dataget!= null){
        textView1.setText(dataget);
        }
    }