想通过全局变量Login.name作为条件来检索数据表中该行其它列的值,并显示在TextView中。在运行到注释下方语句时会闪退。
在保留使用全局变量作为检索条件的基础上解答,并指出问题所在。
以下是源码:
TextView username=findViewById(R.id.username);
DBOpenHelper dbOpenHelper = new DBOpenHelper(Logining.this);
//闪退
String un = dbOpenHelper.person_serch();
username.setText(un);
数据库函数:
public String person_serch(){
SQLiteDatabase sqLiteDatabase=this.getReadableDatabase();
String sq = "select * from user where name = ?";
Cursor cursor = sqLiteDatabase.rawQuery(sq, new String[]{Login.name});
//public static final String TABLE_USER_name = "name";
int nameIndex = cursor.getColumnIndex(TABLE_USER_name);
String user_name = cursor.getString(nameIndex);
sqLiteDatabase.close();
return user_name;
}