2016-10-13 2 views
0

Ich habe diese auf meinem DBHelperAusnahme abfangen, wenn Daten von SQLite-Datenbank abrufen Android

public Cursor selectUser(String username){ 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor res = db.rawQuery("SELECT * FROM user_tbl WHERE username = '" + 
      username+"'", null); 
    return res; 
} 

Und ich habe auch diesen try-catch-Block auf meiner Aktivität.

Allerdings bekomme ich die Ausnahme Catch. Was ich versuche zu tun ist, dass ich meine Datenbank überprüfen möchte, wo der Benutzername gleich LoginActivity.usernamee ist. Zeigen Sie dann den vollständigen Namen des Benutzers aus meiner Datenbanktabelle in meiner Android-Textansicht an.

Ich möchte um Hilfe bitten. Vielen Dank!

+0

von Ihrem aktuellen Code-Block, ich sehe nicht, dass Sie initialisieren 'DBHelper' Statt einen allgemeinen Fehler in Ihrer' catch' zu drucken, sollten Sie die Fehlermeldung von der Ausnahme. Es hilft Ihnen bei der Fehlersuche. – Pztar

+0

Das Ausnahmeobjekt enthält nützliche Informationen. Warum wirfst du es weg? –

Antwort

1

Ich glaube, Sie „moveToFirst“ fehlen

SQLiteDatabase db = this.getReadableDatabase(); 
Cursor res = db.rawQuery("SELECT * FROM user_tbl WHERE username = '" + username + "'", null); 

if(res.getCount() > 0){ 
    res.moveToFirst(); 
    String fullnamee = res.getString(res.getColumnIndex(DBHelper.USER_NAME)); 
    // do what you want 
}