0

在我的 activepivot 解决方案中,我有一个包含每笔交易的桌子和货币的商店。

例如:

  • 1,欧元,DeskA,10
  • 2,欧元,DeskB,18
  • 3,英镑,DeskA,17
  • 4、usd、DeskA、54

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

要执行这三个查询:

  • DeskA, 欧元
  • DeskA, 美元
  • DeskA, 英镑

我会使用准备好的语句来避免多次解析查询。在 activepivot 中是否有任何等价物?

4

1 回答 1

0

这是您可以定义预编译查询的方式

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

这就是你可以执行它的方式

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

基本上上面你使用attributeUsedForSearchHere 作为一个属性,你将用于基于相等条件的搜索;当然你可能有几个属性。

然后,一旦执行查询,您就可以读取其他属性(属性 2、3 和 4),如下所示:

cursor.getRecord().read("attribute2")
于 2014-09-04T14:10:50.160 回答