我需要调用在 DB2 中运行的存储过程。由于 Oracle DB 适配器不支持 DB2,我使用 Java 嵌入来调用存储过程。我在使用 Java 嵌入调用存储过程并获取结果集时没有问题。问题从开始将结果集分配给输出变量时开始。我使用下面的片段来设置变量。
rset=statement.executeQuery("SELECT name, number, salary from Employee");
rset = statement.getResultSet();
int j=1;
if (rset != null)
{
while(rset.next())
{
name=rset.getString("name");
name=rset.getString("number");
name=rset.getString("salary");
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empname",name);
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:empno",number);
setVariableData("temp","payload","/ns1:code1["+j+"]/ns1:salary",salary);
j=j+1;
}
}
在上面提到的代码中,我希望显示所有要分配给输出变量 temp 的员工的所有 empname、number 和工资详细信息。但我看到的输出只是最后一个员工详细信息。其余的员工详细信息不显示。如果我将变量 j 替换为 1 或 2 或 3 等,我仅得到该数组元素详细信息的输出,而其他详细信息未知。有人可以帮助我将整个结果集设置为输出变量。