我认为“appendwhere”应该处理将子句转换为正确的sql代码。这就是我写下以下内容的原因:
if (match % 2 == 0) qBuilder.appendWhere("_id=" + uri.getLastPathSegment() + " ");
if (hasRecordExistField) qBuilder.appendWhere(TableObject.FIELD_RECORD_EXISTS + "=" + Globals.DEFAULT_EXISTS + " ");
c = qBuilder.query(
db,
projection,
selection,
selectionArgs,
null,
null,
null);
然而,当我执行时,两个“appendwhere”子句都被简单地连接起来。如果“appendwhere”没有注意在中间添加“AND”条款,它的用途是什么?
以下是错误说明:
在“record_exists”附近:语法错误(代码1):,同时编译:SELECT 名称来自游戏WHERE(_id = 0 record_exists = 1)
答案 0 :(得分:1)
然而,当我执行时,两个"追加到哪里"条款简单地连接起来。
这就是文档所说的:
最终的WHERE子句如下所示:
WHERE (<append chunk 1><append chunk2>) AND (<query() selection parameter>
)
在您的情况下,您的两件作品分别为<append chunk 1>
和<append chunk 2>
。 AND
selection
调用带有buildQuery()
参数。