SQLite查询生成器:“追加位置”不添加“和”

时间:2015-04-04 15:44:55

标签: android android-sqlite

我认为“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)

1 个答案:

答案 0 :(得分:1)

  

然而,当我执行时,两个"追加到哪里"条款简单地连接起来。

这就是文档所说的:

  

最终的WHERE子句如下所示:WHERE (<append chunk 1><append chunk2>) AND (<query() selection parameter>

在您的情况下,您的两件作品分别为<append chunk 1><append chunk 2>AND selection调用带有buildQuery()参数。