java - SQLite Android 多选Args 一个选择参数

标签 java android sqlite android-sqlite

我现在这里有类似的问题,但我不知道该怎么做,我得到了以下代码

 Cursor getterCursor = null;

    String selection = "topic" + " =? ";
    String[] selectionArgs = new String[] {"topic1", "topic2"};

    getterCursor = questionsDatabase.query(mDBName, null, selection, selectionArgs, null, null, null);

并且它返回错误java.lang.IllegalArgumentException:无法在索引 2 处绑定(bind)参数,因为索引超出范围。该语句有 1 个参数。。我知道发生这种情况是因为我在数组 selectArgs 中有两个元素,但我完全不知道如何使其正常工作,请帮忙。 再一次:我真的尝试按照互联网和特别是SO的指南自己解决这个问题,但我无法处理它,所以现在在这里寻求帮助。提前致谢!

最佳答案

如果您想要 topic 的 2 个值的结果,请使用运算符 IN:

String selection = "topic IN (?, ?)";

这相当于:

String selection = "topic = ? OR topic = ?";

关于java - SQLite Android 多选Args 一个选择参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60027322/

相关文章:

java - 作为 JLabel 名称的字符串

java - 使用 Gradle 防止第 3 方库位于编译类路径上

java - android - 倒计时后打开 Activity

android - Android应用程序同时打开和关闭。为什么?

swift - 当用户将项目插入数据库时​​如何刷新 TableView ?

SQLite:如何只选择没有扩展名的文件名?

java - 无法解决 DataAccessException。它是从所需的 .class 文件中间接引用的

java - Android 应用程序未运行。模拟器说它一直在关闭

Android - 这是存储 mp3 文件的最佳方式

c++ - 如何在qt中修复 "No query Unable to fetch row"