Android StudioのクラスでSQLite文を文字列リテラルとして入力すると、IDEから次の警告が表示されます:"<expr> expected, got '?'"
。<expr>が必要ですが、 '?'
これは何を意味するのか分かりませんが、コードはうまくいきました。検査を無効にしたいと思います。しかし、どの検査がそれを引き起こしているのか分かりません。何千ものものがあり、検索するか期待すると有用な結果は得られません。
Androidスタジオのバージョンは3.0です。異なる文の全体の束で起こっているが、代表的なものは次のようになります。
SQLiteStatement st = db.compileStatement(
"INSERT OR REPLACE INTO routes(route_code, route_desc) VALUES(?,?)"
);
完全なクエリステートメントを投稿できますか?あなたはAndroid Studioのどのバージョンを使用していますか? –
最新バージョン(3.0)。 SQLiteStatement st = db.compileStatement( "INSERT OR REPLACE INTO routes(route_code、route_desc)VALUES(?、?)");これは、次のようになります。 – user92238
私は周りを見て、それはAndroidスタジオ3.0 +からSQLiteの構文チェッカーははるかに厳しいように見えます。しかし、私はそれが最後のコンマと疑問符の間のスペースを期待していると思います。スペースを追加して、それが機能するかどうか試してみてください。ここでいくつかのリンク:https://stackoverflow.com/questions/44205651/android-studio-3-0-canary-1-sql-syntax-error https://stackoverflow.com/questions/46165045/android-sqlite-あなたのコードは上手くいなければなりません.SQLiteは構文をどのように処理するかをまだ知っていますが、より良い構文上の習慣を適用したいだけです。 –