从sqlite数据库Android中检索数据时捕获异常

时间:2016-10-13 18:54:04

标签: java android sqlite

我在我的DBHelper上有这个

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

我的Activity上也有这个try-catch块。

DBHelper mydb;
Cursor res;
user = LoginActivity.usernamee;        
    try{
                res = mydb.selectUser(user);
                if(res.getCount() > 0){
                    String fullnamee = res.getString(res.getColumnIndex(DBHelper.USER_NAME));
                    fullname.setText(fullnamee);
                    fullname.setFocusable(false);
                    fullname.setClickable(false);
                }

            }catch(Exception e){
                System.out.println("Error retrieving database record.");
            }

但是,我得到了捕获异常。我想要做的是,我想检查我的数据库,其中用户名等于LoginActivity.usernamee。然后从我的数据库表中显示用户的全名到我的Android文本视图。

我想请求帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你错过了" moveToFirst"

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
}