Java 如何在VoltDB中获取查询结果
我有一个带表的VoltDB数据库。 我想得到VoltDB存储过程的结果。这是密码Java 如何在VoltDB中获取查询结果,java,sql,database,stored-procedures,voltdb,Java,Sql,Database,Stored Procedures,Voltdb,我有一个带表的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
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
为什么我会得到这个结果?结果我只想要两个
提前感谢queryresults[0]是一个可变对象。toString()方法将整个对象转换为字符串(不包括数据本身,只包括元数据)。您需要遍历VoltTable中的行(通常使用advanceRow()完成),并使用getLong(0)或getLong(“codice”)检索codice列 另外,最终返回的voltExecuteSQL()将返回一个空VoltTable[],因为排队的SQL语句已经执行,其他任何语句都没有排队