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 语句查询数据库的更多信息。

    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)