繁体   English   中英

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

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

这是检索方法:

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)。

通过更改来修复它:

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

暂无
暂无

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

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