Caríssimos.... peço encarecidamente para darem uma olhada no código
abaixo pois estou com problemas já faz tempo....
Estou com problemas no método SetDBtoObject2. Esse método tem a
finalidade de carregar do banco um vetor de objetos do tipo
Fornecimento. Porém, sempre que coloco o resultset dentro de uma
estrutura de repetição como while ou for, ele não passa lá mais do que
uma vez. O resultset, rsFornecimento, possui três registros que já
testei, ele deveria passar 3 vezes pelo "while" do método abaixo, mas,
passa apenas uma e já retorna ao servlet que o chamou. A cada vez que
ele passasse pelo while ele deveria carregar um objeto fornecedor. Note
que dentro do while eu possuo novamente o método findlike, que procura
um fornecedor no banoc e retorna o rsFornecedor, e a partir desse outro
resultset. ele deveria carregar um objeto fornecedor. Será que existe
algum problema em usar o resutlset dentro de uma estrutura de repetição
?
O código está logo abaixo.... o problema realmente está no "
while " ...
public Vector SetObject2(ResultSet rsFornecimento)
{
Vector vetor = new Vector();
int material, fornecedor;
String dataFornecimento;
CodigoFornecimento codigoFornecimento;
Fornecimento fornecimento1;
material material1 = new material();
Fornecedor fornecedor1 = new Fornecedor();
ResultSet rsMaterial;
int i = 1;
try
{
material = rsFornecimento.getInt ("material");
material1.setCodigo (material);
rsMaterial = material1.findlike (); // método que procura um
material no banco e retorna o resultSet
if (rsMaterial.next ());
{
material1 = material1.SetObject (rsMaterial);
}
}
catch (Exception e)
{}
// o rsFornecimento possui 3 registros com colunas "material,
fornecimento e dataFornecimento
//ele deveria passar 3 vezes pelo while, e cada vez carregar um
objeto fornecedor do ResultSet rsFornecedor, mas não é isso //que
acontece, ele passa só uma e já retorna ao servlet que chamou esse
método.
try
{
while (rsFornecimento.next ())
{
fornecedor = rsFornecimento.getInt ("fornecedor");
dataFornecimento = rsFornecimento.getString
("dataFornecimento");
fornecedor1.setCodigo (fornecedor);
ResultSet rsFornecedor = fornecedor1.findlike ();
if (rsFornecedor.next())
{
fornecedor1 = fornecedor1.SetObject (rsFornecedor);
// método que carrega um objeto com
System.out.println ("setou fornecedor");
// os dados do rs passado como parâmetro.
}
}
}
catch (Exception e)
{ return null;}
return vetor;
}
Abraços, Valter.
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------