GAEでDatastoreに対して、以下の4つの操作ができます。
C(Create = 新規作成)
R(Read = 読み取り)
U(Update = 更新)
D(Delete = 削除)
その中で、ハマったところがあるので備忘メモ。
メールアドレス(String型)を条件にして検索したかったのですが、
なぜか条件が反映されずに全件検索の結果が返ってきていました。
参考書も参考サイトも(1)のような書き方をしているのにどうしてもうまくいかない。
(2)のように書き直したらうまくいきました。
数値の比較だったら、(1)でもうまくいくのに。
なんでだろう……。
----------------------------------------------------
(1)
pmquery.setFilter("email == pEmail");
pmquery.declareParameters("String pEMail");
↓
(2)
pmquery.setFilter("email == '" + pEmail + "'");
----------------------------------------------------
もう1つハマったところ。
検索条件を複数使えるのですが、setFilter()の使い方を間違えてました↓
----------------------------------------------------
【誤】
pmquery.setFilter(" email == pEmail");
pmquery.setFilter(" && id == pID");
【正】
pmquery.setFilter("email == pEmail && id == pID");
※【誤】は、1行目の命令を2行目のsetFilter()で条件を上書きしてました orz
----------------------------------------------------
【参考】
http://morado106.blog106.fc2.com/blog-entry-82.html
http://www.onaneet.org/practice/?p=58
2011年10月26日
[Android] JDOでのCRUDでハマった
posted by be-style at 19:38| Comment(0)
| Android
この記事へのコメント
コメントを書く