在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);
我找不到理由的来源,请帮助我......
答案 0 :(得分:1)
"数据库"变量初始化,因为看起来你应该使用的是" checkDB",当你做rawQuery时,数据库变量可能是null,你不想去checkDB.rawQuery(。 ..而不是?
问候!