Retornar uma matriz como valor de um método

4 respostas
carlosvtnc

Olá…
eu necessito pegar alguns valores num banco de dados, e retornar esses valores…
seria possivel eu retornar valores de uma matriz utilizando um método ??
ou teria alguma idéia melhor de retornar esses valores ??
Segue o código do método abaixo…
Abraços…

public static String Nomes(String Nome){
         
         try {
               Class.forName(Connectionn.driver); //Carrega o driver

               //Obtém a conexão com o banco
               Connection conn = DriverManager.getConnection(Connectionn.str_conn, Connectionn.usuario, Connectionn.senha);
               Statement stmt = conn.createStatement();
               
               String SQL = "SELECT idPessoa, Nome FROM pessoa where Nome like '%"+Nome+"%'";
               ResultSet rs = stmt.executeQuery(SQL); 
                 
            int i = 0;
            String[][] pessoa;
                 
         while (rs.next()){
         try {         
             
             pessoa[i][0] = rs.getString("idPessoa");
             pessoa[i][1] = rs.getString("Nome");
                 
             }
       
            catch(Exception erro)
            {
                System.out.println();
            }
      
          }
        
             }  
               
    
           catch (ClassNotFoundException ex) {
             JOptionPane.showMessageDialog(null, "Não foi possível carregar o driver.");
             ex.printStackTrace();
        }
        catch (SQLException ex) {
             JOptionPane.showMessageDialog(null, "Problema com o SQL");
             ex.printStackTrace();
       } 
                 
         return pessoa[][];
     }

:?: :lol:

4 Respostas

Dan_xD

Você realmente precisa retornar uma matriz?

Pelo que deu para ver no seu código, uma List resolve seu caso.

Mas em todo caso, você tentou mudar o retorno?

De

public static String Nomes(String Nome)

Para

public static String[][] Nomes(String Nome)
carlosvtnc

Mas eu preciso retornar 2 valores…
o idPessoa e o Nome…
em uma List seria possivel isso ?? alguma dica de como fazer ??
obrigado…

Dan_xD

Se você for retornar os valores do em sequencia, pode se utilizar uma list dessa forma.

List<Pessoa> lista = new LinkedList<Pessoa>();
while (rs.next()){ 
    Pessoa p = new Pessoa();
    p.setIdPessoa(rs.getInt("idPessoa"));
    p.setNome(rs.getString("Nome"));

    lista.add(p);
}

Com isso aonde você for receber, você tem um Bean de Pessoa, com todas as informações que você precisa.

Mas caso sua solução seja algo mais corriqueiro, você pode utilizar Matriz mesmo.

Utilizar um Bean, seria uma solução bem mais elegante.

Bom, vai de você utilizar a Matriz ou a List.

Espero ter ajudado.

Qualquer duvida, é só postar.

carlosvtnc

Nossa… ajudou dimais…
muito obrigado ae…
vou fazer é com list msm…
vlw!!! :lol:

Criado 5 de agosto de 2011
Ultima resposta 5 de ago. de 2011
Respostas 4
Participantes 2