在sqlite查询中获取空指针异常

时间:2014-01-30 01:05:18

标签: android android-sqlite

在squlite查询中获取空指针异常。

以下是我的代码段

String myPath = DB_PATH + DATABASE_NAME;
    SQLiteDatabase checkDB = null;     
    checkDB = SQLiteDatabase.openDatabase(myPath, null,SQLiteDatabase.OPEN_READONLY);
    if(checkDB != null){
    Cursor  cursor = database.rawQuery("SELECT Id, UserName FROM Login Where status="+ 1, null);
        if(cursor != null ) {
            if  (cursor.moveToFirst()){
                String UserName = cursor.getString(cursor.getColumnIndex("UserName"));
                String mail_id = cursor.getString(cursor.getColumnIndex("status"));
                Intent intent = new Intent(MainActivity.this, UserAccount.class);

                /*Sending some arguments*/ 
              Bundle bundle = new Bundle();

                  bundle.putString("UserName",UserName);
                  bundle.putString("Id", mail_id);
                  intent.putExtras(bundle);
                  startActivity(intent);

当我调试代码时,我在checkDB变量中有一个路径值,但是游标值为null。所以我在行

处得到空指针异常
        Cursor  cursor = database.rawQuery("SELECT Id, UserName FROM Login Where status="+ 1, null);

我找不到理由的来源,请帮助我......

1 个答案:

答案 0 :(得分:1)

"数据库"变量初始化,因为看起来你应该使用的是" checkDB",当你做rawQuery时,数据库变量可能是null,你不想去checkDB.rawQuery(。 ..而不是?

问候!