【问题标题】:Unrecognized token AND无法识别的令牌 AND
【发布时间】:2015-09-04 12:14:24
【问题描述】:

我在下一个查询中遇到问题:

这是我的数据数组

 String[] columns = new String[]
{ KEY_ROWELEMENTID, KEY_STUDYID,  KEY_ELEMENTCODE, KEY_ELEMENTNAME};

我为此数组创建了一个光标,其中: KEY_ELEMENTCODE 列等于一个变量结果 和 KEY_STUDYID 等于一个可变结果 AND

 Cursor c = 
ourDatabase.query(DATABASE_TABLEELEMENTS, columns,  KEY_ELEMENTCODE + "=" + elementRequest 
 + "AND" + KEY_STUDYID + 
"=" + idStudy, null, null, null, null);

有什么问题?我已经调试并且所有变量都有正确的值

谢谢

【问题讨论】:

    标签: android sql sqlite token


    【解决方案1】:

    没有看到来自

    的输出
    KEY_ELEMENTCODE + "=" + elementRequest + "AND" + KEY_STUDYID + "=" + idStudy
    

    我猜你只需要更换

    "AND"
    

    与

    " AND "
    

    【讨论】:

      【解决方案2】:

      您缺少 AND 周围的空格。

      • “与”+

      【讨论】:

        【解决方案3】:

        是的,应该有空格作为“ AND”, 还有一件事,如果您要比较整数值,请使用这一行,

            Cursor c = ourDatabase.query(DATABASE_TABLEELEMENTS, columns,  
                KEY_ELEMENTCODE + "=" + elementRequest
                        + " AND " + KEY_STUDYID +
                        "=" + idStudy, null, null, null, null);
        

        如果你在比较字符串值,那么你应该使用单引号,

            Cursor c = ourDatabase.query(DATABASE_TABLEELEMENTS, columns,
                KEY_ELEMENTCODE + "=" +"'"+elementRequest+"'"+
                        + " AND " + KEY_STUDYID +
                        "=" + "'"+idStudy+"'", null, null, null, null);
        

        让我知道它是否适合你...

        【讨论】:

          【解决方案4】:

          试着在“AND”前后加空格,写成“AND”,希望能解决你的问题:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-10-29
            • 2016-11-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多