簡體   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