Android 从数据库获取登录的字符串值

Android 从数据库获取登录的字符串值,android,sqlite,Android,Sqlite,我正在开发一个android应用程序,它有三种类型的用户登录活动,实现三种类型的用户级别。我创建了登录活动,它使用给定的登录用户名从数据库中获取用户级别和密码,以便使用意图启动相应的活动。现在我在数据库方法上得到一个空指针异常 数据库获取代码为: public String fetchPassword(String user_name) { Cursor cursor; SQLiteDatabase db = this.getReadableDa

我正在开发一个android应用程序,它有三种类型的用户登录活动,实现三种类型的用户级别。我创建了登录活动,它使用给定的登录用户名从数据库中获取用户级别和密码,以便使用意图启动相应的活动。现在我在数据库方法上得到一个空指针异常

数据库获取代码为:

        public String fetchPassword(String user_name) {
        Cursor cursor;

        SQLiteDatabase db = this.getReadableDatabase();

        cursor = db.query(DATABASE_TABLE_NAME_1, 
                new String[] { COLUMN_USER_LEVEL, COLUMN_USER_NAME }, 
                COLUMN_USER_NAME + "='" + user_name + "'", null, null, null, null);

        cursor.moveToFirst();

            String result = cursor.getString(cursor.getColumnIndex("content"));

            return result;
    }

    public String fetchUserLevel(String user_name) {
        Cursor cursor;

        SQLiteDatabase db = this.getReadableDatabase();

        cursor = db.query(DATABASE_TABLE_NAME_1, 
                new String[] { COLUMN_PASSWORD, COLUMN_USER_NAME }, 
                COLUMN_USER_NAME + "='" + user_name + "'", null, null, null, null);

        cursor.moveToFirst();

            String result = cursor.getString(cursor.getColumnIndex("content"));

        return result;
    }
这是你应该得到它的地方

        String result = cursor.getString(cursor.getColumnIndex("content"));
如果数据库中没有记录,则会出现空指针,因为光标为空。您需要检查它是否正确,然后继续

        cursor.isAfterLast();
如果为空,则返回true


logcat堆栈跟踪将是开始查找的好地方。

请发布您的logcaterror@TeRRo无法复制logcat@user3780419在logcat中,您可以看到一个选项export log(导出日志),您可以将logacat文件夹保存在此处,并请在保存之前缩进logcat Query从不返回null;如果未找到任何内容,则游标对象为空,即moveToFirst返回false。
        cursor.isAfterLast();