Android:如何使用非字符串选择args查询SQLiteDatabase?

Ste*_*veo 5 sql sqlite select android

是否有一种直接的方法来查询SQLiteDatabaseString类型的选择参数?

特别是:如果arg是一个byte[]类型?

我能找到的最接近的东西是SQLiteDatabase.compileStatement(),SQLiteStatement你可以打电话bindBlob等等.不幸的SQLiteStatement是,查询并不好,因为它不会返回游标.

SQLiteCursor 看起来很有希望,但我无法弄清楚如何使用它.

CL.*_*CL. 7

这是Android数据库API中的设计错误.

query并且rawQuery只接受字符串参数. execSQL接受任何Object参数,但不返回结果. SQLiteStatement接受任何类型的参数,但仅允许返回单个值的查询.

你可以做的是忽略参数,并手动将blob格式化为blob文字:

cursor = db.rawQuery("SELECT a FROM b WHERE c = x'112233'", null);
Run Code Online (Sandbox Code Playgroud)