Android SQLite データベースでの SQL インジェクションを防ぐために、準備済みステートメントを使用したいと考えています。Like
ただし、クエリに含まれている場合に rawquery がクラッシュしWhere name = ?
、Android SQLite db で like および prepare ステートメントを使用する方法はありますか?
これはクエリです:
sqlQuery = "SELECT * FROM " + TABLE_CALLS + " where " + CALLER_NAME + " like ? COLLATE NOCASE or " + CALLER_NBR + " like ? or " + CALLER_EXT + " like ?" + " or " + IS_OUTGOING + " like ? COLLATE NOCASE or " + TYPE + " like ? COLLATE NOCASE";
Cursor cursor = database.rawQuery(sqlQuery, new String[]{"%" + criterion + "%", "%" + criterion + "%","%" + criterion + "%","%" + criterion + "%","%" + criterion + "%"});
範囲外のバインドまたは列インデックスを与えます ありがとうございます。