SachinKS 2013-05-02 06:00 采纳率: 0%
浏览 1345

安卓中使用用户名进行查询

public ArrayList < PatientInfo > getAllPatients(String username) {
    ArrayList < PatientInfo > patients = new ArrayList < PatientInfo > ();

    open();

    Cursor cursor = db.query(UserTable, null, null, null, null, null, AccessedDate);
    while (cursor != null && cursor.moveToNext()) {
        try {

        } catch (Exception ex) {
            //Log.e("XXX", ex.getMessage());
        }
    }
    if (cursor != null)
        cursor.close();
    close();

    Collections.reverse(patients);
    return patients;
}

在方法中将用户名作为参数,接下来怎么实现查询并且获取user specific result?

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-23 18:53
    关注

    为了获取特定用户的结果,你需要指定一个条件来筛选出特定用户的行。您可以在查询语句中添加一个 WHERE 子句来筛选出所有符合条件的行,并将该子句中的列名替换为 username 列,并将条件设置为 username = ?。然后,您可以使用提供的 username 参数的值作为第二个参数传递给 query() 方法,以替换 ? 占位符。


    例如,可以使用以下代码来获取特定用户的所有病人信息:

    Cursor cursor = db.query(UserTable, null, "username = ?", new String[] {username}, null, null, AccessedDate);
    

    然后,您可以使用与您之前一样的代码来循环游标,并将获取的数据添加到 patients 列表中。


    请注意,您还可以使用其他方法,例如 rawQuery(),在 SQL 语句中编写查询并使用占位符。例如:

    Cursor cursor = db.rawQuery("SELECT * FROM " + UserTable + " WHERE username = ?", new String[] {username});
    

    请参阅 SQLite 的文档以获取有关使用 SQL 语句查询数据库的更多信息。

    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊