【问题标题】:Syntax errors with SQLite query on AndroidAndroid 上 SQLite 查询的语法错误
【发布时间】:2012-08-15 14:53:28
【问题描述】:

我尝试使用以下选择对 android sqlite 数据库进行查询,但是当我将它放入 eclipse 时它只显示错误。

stmt = "SELECT * FROM user_zones JOIN pos WHERE user_zones.zone_id = (
                CASE  
                 WHEN user_zones.type_zone_id = 'Zone' THEN pos.zone_id
                 WHEN user_zones.type_zone_id = 'Area' THEN pos.area_id
                 WHEN user_zones.type_zone_id = 'Town' THEN pos.town_id
                 WHEN user_zones.type_zone_id = 'MicroZone' THEN pos.microzone_id END) AND user_zones.user_id = '"+id_user+"'";

有人知道上面的语法有什么问题吗?谢谢

编辑:我什至无法运行代码,存在语法错误!

错误:cannot find symbol class CASE

unclosed character literal
cannot find symbol class 'THEN'

expected ';' ....and so on

【问题讨论】:

  • 你遇到了什么错误...?

标签: java android sqlite


【解决方案1】:

如果这确实是您粘贴到 Java 源代码中的内容,那么您的问题是 Java 中的字符串文字不能跨越多行。您必须为每一行使用单独的字符串文字将其拆分,并使用 + 运算符将它们全部粘合在一起。像这样。

stmt = "SELECT * FROM user_zones JOIN pos WHERE user_zones.zone_id = (" +
       "        CASE" +
       ...

见Paste a multi-line Java String in Eclipse

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多