簡體   English   中英

Android上的SQLite查詢語法錯誤

[英]Syntax errors with SQLite query on Android

我嘗試使用以下選擇對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源代碼中的內容,那么您的問題是Java中的字符串文字不能跨越多行。 您必須為每一行使用單獨的字符串文字將其拆分,然后將它們與+運算符粘合在一起。 像這樣。

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

請參閱在Eclipse中粘貼多行Java String

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM