5

GQLを使用してデータストアからデータを取得しようとしています。GQLはリテラルエラー、Googleデータストアを無効にしました

私がSELECT * FROM Kindリクエストを行うと、それが動作し、データが返されます。

しかし、私がしようとすると:

SELECT * FROM kind where num < 1234 

私が許可されていないリテラルのエラーが発生します。

SELECT * FROM kind where num < '1234' 

が、私は同じエラーを取得:

私も引用でそれを実行しようとしました。

誰もこれまでに遭遇したことはありますか?

Query<Entity> query = Query.gqlQueryBuilder(Query.ResultType.ENTITY,    
      "SELECT * FROM " + kind + " WHERE num < '100'" 
     ).build(); 
    QueryResults<Entity> results = datastore.run(query); 
    while (results.hasNext()) { 
    Entity result = results.next(); 
    myList.add(result.getString("num")); 

答えて

3

あなたが直接クエリにそれを追加するのではなく、クエリパラメータをバインドする必要があります。ここでは

はコードです。

Query<Entity> query = Query.gqlQueryBuilder(Query.ResultType.ENTITY,    
          "SELECT * FROM " + kind + " WHERE num < @num") 
         .setBinding("num", 100) 
         .build(); 
QueryResults<Entity> results = datastore.run(query); 
while (results.hasNext()) { 
    Entity result = results.next(); 
    myList.add(result.getString("num")); 
... 
+0

どうもありがとうございます!! –

+0

私はそれを聞いてうれしいです! Cloud Datastoreをご利用いただきありがとうございます(☞゚ヮ゚)☞ –

+0

私は興味がありますが、どのようにこれを行う方法を学習しましたか?私はメモリからこれを行うことができる、または少なくともstackoverflowとGoogleのハハ以外の答えを探すために知っている。 –

関連する問題