我正在创建用户登录应用程序。我希望在用户登录布局的文本视图时显示用户的帐户信息。这是布局的图像。
以下是我登录时获取用户数据的代码:
public Cursor getUserData(String username){
Cursor UserDataCursor = getReadableDatabase().rawQuery(
"SELECT * FROM " + USER_TABLE_NAME + " WHERE " +
USER_NAME + "='" + username+"'", null);
return UserDataCursor;
以下是使用该类检索数据的代码:
String email2 = cursor.getString(cursor.getColumnIndex("email"));
String name2 = cursor.getString(cursor.getColumnIndex("name"));
String pass2 = cursor.getString(cursor.getColumnIndex("pass"));
String gender2 = cursor.getString(cursor.getColumnIndex("gender"));
String date2 = cursor.getString(cursor.getColumnIndex("date"));
String country2 = cursor.getString(cursor.getColumnIndex("country"));
String reg2 = cursor.getString(cursor.getColumnIndex("reg"));
data+=email2+" "+name2+" "+pass2+" "+gender2+" "+date2+" "+country2+" "+reg2+"\n" ;
cursor.moveToNext();
}
它给出了一个空指针异常。这有什么问题?我该如何解决?
答案 0 :(得分:0)
我认为你不使用数据库适配器模式会让自己变得更加困难。
在这里查看一个如何为数据库设置更多抽象和错误处理的示例: http://www.devx.com/wireless/Article/40842/1954
很难验证您的代码,因为它与数据有关。您的列名可能有误(或者可能缺少一个)。您的数据类型可能有误。您可能会返回没有行的游标,您需要检查它。
是的,你在开始之前做了cursor.moveToFirst()吗?此外,我们不知道发生错误的第70行是什么,因为在帖子中丢失了行号。