相关疑难解决方法(0)

IN子句和占位符

我正在尝试在Android中执行以下SQL查询:

    String names = "'name1', 'name2";   // in the code this is dynamically generated

    String query = "SELECT * FROM table WHERE name IN (?)";
    Cursor cursor = mDb.rawQuery(query, new String[]{names});
Run Code Online (Sandbox Code Playgroud)

但是,Android不会使用正确的值替换问号.我可以执行以下操作,但是,这不能防止SQL注入:

    String query = "SELECT * FROM table WHERE name IN (" + names + ")";
    Cursor cursor = mDb.rawQuery(query, null);
Run Code Online (Sandbox Code Playgroud)

如何解决此问题并能够使用IN子句?

sqlite android

99
推荐指数
4
解决办法
5万
查看次数

标签 统计

android ×1

sqlite ×1