【问题标题】:How to get result of query in VoltDB如何在 VoltDB 中获取查询结果
【发布时间】:2019-10-12 14:17:47
【问题描述】:

我有一个带有表的 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】:

    queryresults[0] 是一个 VoltTable 对象。 toString() 方法将整个对象转换为字符串(不包括数据本身,仅包括元数据)。您需要遍历 VoltTable 中的行(通常使用 advanceRow() 完成)并使用 getLong(0) 或 getLong("CODICE") 检索代码列。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-06
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多