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] 
-------------------------------------------------------------------------

Responder a