Jump to content

Jtable query com várias linhas


mejaime

Recommended Posts

Boa noite,

Tenho andado a brigar com as linhas que não aparecem na jtable.

O problema é assim, a query que estou a fazer devolve pode devolver mais que uma linha. No caso de devolver mais que uma linha  na jtable é apresentado o numero de linhas que a query devolve mais os dados das linhas são todos iguais.

Imagem que mostra os dois registos repetidos (A query devolve dois registos diferente mas a jtable insere o mesmo duas vezes)

http://img207.imageshack.us/img207/9900/32075215.jpg

Deixo também o método que que preenche a jtable.

public JTable preenche(javax.swing.JTable tabelaBD) throws SQLException {

    Integer x;
     this.campos.add("id_aplicacao");
     this.campos.add("Banco");
     this.campos.add("Capital");
     this.campos.add("Data_Inicio");
     this.campos.add("Data_Fim");
     this.campos.add("Taxa_Juro");
     this.campos.add("N_Dias");
     this.campos.add("Imposto");
     this.campos.add("Rendimento_liquido");
     this.tamanho.add(10);
     this.tamanho.add(90);
     this.tamanho.add(90);
     this.tamanho.add(10);
     this.tamanho.add(10);
     this.tamanho.add(90);
     this.tamanho.add(90);
     this.tamanho.add(10);
     this.tamanho.add(10);

      this.connect();

      Statement stm = conn.createStatement();
      ResultSet res = stm.executeQuery("SELECT id_aplicacao, banco, capital, data_inicio, data_fim, taxa_juro, n_dias, imposto, rendimento_liquido FROM t_aplicacao WHERE data_fim > sysdate");

        DefaultTableModel modelo = (DefaultTableModel)tabelaBD.getModel();
        modelo.setNumRows(0);
        modelo.setColumnCount(0);

        for (x=0; x<campos.size(); x++) {
              nomes.add(campos.get(x).toString());
        }

       for (x=0; x<campos.size(); x++) {
             modelo.addColumn(campos.get(x).toString());
         }

       for (x=0; x<tamanho.size(); x++) {
             tabelaBD.getColumnModel().getColumn(x).setPreferredWidth(Integer.parseInt(tamanho.get(x).toString()));
       }

       while (res.next()) {
                for (x=0; x<campos.size(); x++) {
                      valores.add(res.getString(campos.get(x).toString()));
                }
                
              modelo.addRow(valores);
              
      }
      
     return tabelaBD;

}

Alguém que me possa ajudar a ver o que está a faltar aqui.

Obrigado

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.