简体   繁体   English

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

[英]Android app crashes when retrieving data from SQLite database

This is the retriver method: 这是检索方法:

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;
}

This is how I'm displaying it in a TextView: 这就是我在TextView中显示它的方式:

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

The app is made for API 23+, this code works fine on the API 23 emulator and on my own cellphone (which has Android 7.1) but it does not work on other cellphones. 该应用程序是针对API 23+开发的,此代码可在API 23仿真器和我自己的手机(具有Android 7.1)上正常运行,但不适用于其他手机。 (Android 7.0 and 6.0). (Android 7.0和6.0)。

Fixed it by changing: 通过更改来修复它:

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

To: 至:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM