j11488 2023-03-20 23:54 采纳率: 100%
浏览 61
已结题

android sqlite数据库如何读取显示数据(语言-java)

想通过全局变量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;
   }

  • 写回答

5条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 3月29日
      • 已采纳回答 3月21日
      • 修改了问题 3月21日
      • 修改了问题 3月21日
      • 展开全部

      悬赏问题

      • ¥15 CygwinPortable 中 NumPy 无法安装
      • ¥15 51单片机 用汇编语言实现方波非1:1的输出
      • ¥15 vivado如何支持多维打包数组模式
      • ¥15 请问第13题到底应该怎么做
      • ¥15 stable diffusion报错问题
      • ¥20 数据可视化综合运用 导入npz文件以及读取内容
      • ¥15 倒计时汇编语言RTC实时时钟
      • ¥15 CCS安装出现Failed to create the part's controls
      • ¥15 请问有digital Fortran编译器吗
      • ¥15 用cst怎么仿真同轴馈线