ここでは、JDO for Google App Engine: escaping quotesのようなjavax.jdo.Queryを使用しています。しかし、一重引用符( ')付きのクエリ文字列は爆発的になり続けます。ここでappengine datastoreクエリーをエスケープする一重引用符( ')
Query query = pm.newQuery("select from " + Book.class.getName() + " where mArtist== '"+ artist + "' && mTitle=='" + title + "'");
ここで例外
javax.jdo.JDOUserException: Portion of expression could not be parsed: 't Give Up'
org.datanucleus.store.query.QueryCompilerSyntaxException: Portion of expression could not be parsed: 't Give Up'
は(このquery.toStringである)
SELECT FROM com.example.Book WHERE mArtist== 'Famous Writer' && mTitle=='We Won''t Give Up'
葉、私は二重の単一引用符ごとに( ')単一引用符をしても脱出してきましたappengine docs
あなたが "爆発" とはどういう意味ですか?何が起こっているのですか? –
申し訳ありません。ちょっと劇的になり、トリガーされた例外を忘れる。私はExceptionで投稿を更新しました。 –