2012-01-16 8 views
0

私はGoogleのデータストアでクエリに苦労していて、助けを求めていました。Google App Engineのクエリ.addFilter

データストアに2倍のデータを保存するフォームがあります。ここでは、サーブレットからの抜粋です:

String temp = req.getParameter("temp"); 
message.setProperty("temp", temp); 

tempは文字列ですが、小数点以下の桁数とをcontaines。

私はクエリを実行しようとしている私のJSPコードで

query.addFilter("temp",Query.FilterOperator.GREATER_THAN, -0.9); 

しかし、唯一の値(-0.9)が整数である場合には(-1)に動作するようです。私は、変数を使用しようとするも、私は無効に一定のエラーを取得:

query.addFilter("temp",Query.FilterOperator.GREATER_THAN, request.getParameter('mintemp')); 

任意の助けいただければ幸いです! ありがとう!

答えて

0

あなたのプロパティをStringとして設定している場合は、代わりにsetPropertyのドキュメントを参照してプロパティをFloatとして保存する必要があります。

エンティティプロパティを設定する前に、フロートにあなたの文字列を変換:

message.setProperty("temp", Float.parseFloat(temp));