2014-09-04 17 views
1

在我的activepivot解决方案中,我有一个包含桌面和每笔交易货币的商店。如何在activepivot的数据存储中加速一系列类似的查询?

例如:

  • 1,欧元,德斯卡,10
  • 2,欧元,DeskB,18
  • 3,英镑,德斯卡,17
  • 4,美元,德斯卡,54

我有很多查询,我想查找所有记录 包含deskA和一个特定但不断变化的货币。

要执行这三个疑问:

  • 德斯卡,欧元
  • 德斯卡,美元
  • 德斯卡,英镑

我会用事先准备好的声明,以避免解析查询多次。 在activepivot中是否有任何等价物?

回答

0

这是如何定义的预编译查询

IRecordQuery query = new RecordQuery("storeName", Equal("attributeUsedForSearchHere").parametrized(0), Arrays.asList("attribute2", "attribute3", "attribute4")); 
compiledQuery = datastore.getQueryManager().compile(query); 

这基本上是上面使用attributeUsedForSearchHere因为你会根据使用搜索的属性,你如何执行它

ICursor cursor = datastore.getQueryManager().execute(compiledQuery , new Object[] { valueOfAttributeUsedForSearchHere}); 

在同等条件下;当然你可能有几个属性。

那么一旦查询被执行就可以读取其他属性(attribute2,3和4)喜欢如下:

cursor.getRecord().read("attribute2") 
相关问题