<expr>期待,得到'?'

use*_*238 29 android android-sqlite android-studio

在Android Studio中的类中键入SQLite语句作为字符串文字时,IDE会向我发出以下警告:"<expr> expected, got '?'".

我不明白这意味着什么,但代码工作正常,我想禁用检查.但我不知道哪个检查导致它.其中有数千种,并且搜索或预期产量没有有用的结果.

Android Studio的版本是3.0.它发生在一堆不同的语句中,但典型的一个看起来像这样:

SQLiteStatement st = db.compileStatement(
   "INSERT OR REPLACE INTO routes(route_code, route_desc) VALUES(?,?)"
);
Run Code Online (Sandbox Code Playgroud)

Hen*_*nry 10

这是Android Studio 3.0中的一个错误,已在此处报告.此版本现已在3.1版本中修复.我正在使用最新的Canary 5 3.1版本,它工作正常.

由于不再有3.0补丁,您现在可以做的就是使用变通方法或禁用此lint检查.

  • 不,这个错误在AS 3.1.2中没有修复 (4认同)
  • 在3.1.2上也有同样的错误 (4认同)
  • 我使用AS 3.01和Lint抱怨"INSERT INTO ... VALUES(?,?)"中的第一个问号.我看不到任何有效的解决方法.我不会在生产环境中使用Canary.我不知道如何仅在Lint中禁用此检查而不是所有语法检查......:/ (2认同)