JTable重复结果

时间:2014-10-05 01:02:18

标签: java mysql swing jtable

我的问题是我有一个JTable总是重复打印第一行,并忽略以下数据。我认为这是问题代码。

我进行查询并将其转换为列表以填充我的JTable。我请你分析我的代码,看它是否正确。

 try{
        EntityManager em = EntityManagerUtil.getEntityManager();
        em.getTransaction().begin();

        Query query_resultados = em.createQuery("FROM "
        + "Resultados WHERE res_codigo LIKE "+aux);

        List<Resultados> lista_resultados = 
                (List<Resultados>) query_resultados.getResultList();

        for(int i=0; i<lista_resultados.size(); i++){

            Resultados resultado = lista_resultados.get(i);

            System.out.println("Teste: "+lista_resultados.get(i).getRes_anti_hbc_hbs());
            System.out.println("i= "+i);

            model.addRow(new Object[] {resultado.getRes_anti_hbc_hbs(), 
                resultado.getRes_anticorpos_irregulares(),
            resultado.getRes_chagas(), resultado.getRes_codigo(), 
            resultado.getRes_data(), resultado.getRes_ggpd(), 
            resultado.getRes_hbs_aq(), resultado.getRes_hcv(),
            resultado.getRes_hiv(), resultado.getRes_htlv_i_ii(), 
            resultado.getRes_malaria(), resultado.getRes_responsavel(), 
            resultado.getRes_sifilis(), resultado.getRes_t_mancha(),
            resultado.getRes_tpg()});
        }
    }catch(Exception e){
        JOptionPane.showMessageDialog(null,"Erro: "+e);
    }

1 个答案:

答案 0 :(得分:0)

在Java中,通常使用以下内容迭代Java ResultSet:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
    String firstColVal = rs.getString(1);
}

rs.next()确保在此上下文中提取下一行,直到完成所有行。