如何在VoltDB中获得查询结果

问题描述 投票:0回答:1

我有一个带有表的VoltDB数据库。我想获取我的VoltDB存储过程的结果。这是代码

import org.voltdb.*;

public class isola extends VoltProcedure {

 public final SQLStmt getLeast = new SQLStmt(" SELECT codice FROM prova WHERE ID=1;" );


 public VoltTable[] run()  throws VoltAbortException {

   voltQueueSQL(getLeast);
     VoltTable[] queryresults = voltExecuteSQL(); 

   String results= queryresults[0].toString();

   System.out.println("String: \n " + results);


   return voltExecuteSQL();
   }


}

这是输出

String: 
  header size: 14
 status code: -128 column count: 1
(CODICE:INTEGER),  rows -
  2

正确的查询结果仅为2。

为什么会得到这个结果?结果我只希望有2个。

提前感谢

java sql database stored-procedures voltdb
1个回答
0
投票

queryresults [0]是VoltTable对象。 toString()方法将整个对象转换为String(不包含数据本身,仅包含元数据)。您需要遍历VoltTable中的行(通常是使用advanceRow()完成此操作,并使用getLong(0)或getLong(“ CODICE”)检索codice列。

此外,最后返回的voltExecuteSQL()将返回一个空的VoltTable [],因为已排队的SQL语句已执行,并且没有其他排队。

© www.soinside.com 2019 - 2024. All rights reserved.