Мне нужно вызвать хранимую процедуру, выполняющуюся в DB2. Поскольку адаптер БД Oracle не поддерживает DB2, я использовал Java Embedded для вызова хранимой процедуры. У меня нет проблемы при вызове хранимой процедуры с использованием Java Embedding и получении набора результатов. Проблема начинается тогда, когда начинается присвоение результирующего набора выходной переменной. Я использую приведенный ниже фрагмент для установки переменной.
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;
}
}
В вышеприведенном коде я рассчитываю отобразить все empname, номер и сведения о зарплате всех сотрудников, которые будут назначены для выходной переменной temp. Но вывод, который я вижу, - это только последние данные сотрудника. Остальные данные сотрудника не являются показано. Если я заменяю переменную j либо 1, либо 2, либо 3 и т. д., я получаю выходные данные только о деталях этого элемента массива, тогда как другие детали неизвестны. Может ли кто-нибудь помочь мне получить полный набор результатов для выходной переменной.