当前位置: 首页 > 知识库问答 >
问题:

如何在Android中一次获得SQLite中的多行?

田兴怀
2023-03-14
    String selectQuery = "SELECT  * FROM " + Table_STOCK + " 
          WHERE " + KEY_ID + " = '" + id + "'" ;
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

共有1个答案

慕嘉茂
2023-03-14

您可以在中使用关键字:

String commaSeparatedIds = "1, 2, 3, 4, 5";

String selectQuery = "SELECT  * FROM " + Table_STOCK + " 
                  WHERE " + KEY_ID + " IN (" + commaSeparatedIds + ")" ;

下面是一个小的帮助器方法,可以从一个ID列表中创建一个commaSeparatedString,而不需要其他库:

private String toCommaSeparatedString(List<Integer> list) {
    if (list.size() > 0) {
        StringBuilder nameBuilder = new StringBuilder();
        for (Integer item : list) {
            nameBuilder.append(item).append(", ");
        }
        nameBuilder.deleteCharAt(nameBuilder.length() - 1);
        nameBuilder.deleteCharAt(nameBuilder.length() - 1);
        return nameBuilder.toString();
    } else {
        return "";
    }
}

使用apache commons库就更简单了,如下文所述:java:join array of primitives with separator(但要注意,这些有时会在Android<4.4中引起问题)

 类似资料:
  • 我想知道是否有可能在一次往返(网络呼叫)到Firestore数据库的过程中,通过ID列表获取多个文档。

  • 实际上,我有一个,它是(在和),现在我需要创建另一个(在该的下方),一开始必须不可见。 当我的活动运行时,我想对隐藏的布局进行动画处理。 隐藏的必须自下而上。我不知道如何实现这个动画??我不知道如何创建一个最初不可见的布局,经过一段时间的延迟后,它必须从屏幕下方显示并从侧面显示??? 这是我的xml文件代码

  • 我想在我的应用程序中获得唯一的设备id。但据谷歌文件称,Android10增加了对不可重置标识符的限制。 我不想要随机的id。我想得到唯一的id,这样我就可以识别我的应用编程接口被击中的设备。通过它,我可以管理我的会话。除了Secure.android之外还有另一个唯一的id_id这对Android来说是唯一的吗?或者有什么方法可以访问Android10中的Secure.android_id。

  • 问题内容: 我已经做了很多关于溢出和谷歌的环顾工作,但是对于我的具体情况,结果都不起作用。 我有一个名为$ holder的占位符数组,值如下: 我正在尝试从此多维数组中提取不同/唯一的值。我想要的最终结果是一个包含(13,121)的变量,或者是(最好是)一个如下数组:Array([0] => 13 [1] => 121) 再次,我尝试了序列化等,但是当在每个数组中使用单个键进行操作时,我不太了解它

  • 我是使用Kotlin开发Firebase android的初学者,我的问题是我想使用Kotlin检测特定的。我如何达到预期的结果。 我看到过使用Java的例子,但我不知道如何使用Kotlin实现它。任何帮助都是非常感谢的。下面是我在代码中写的内容: 如果电话号码已经存在,我希望用一个toast向用户显示。

  • 问题内容: 我的表中有一列具有FLOAT类型的值。如何获得此列中所有元素的平均值? 问题答案: 这将平均所有行。要平均子集,请使用子句。要平均每个组(某物),请使用by子句。