Não está a aparecer todos os valor do registo da Base de Dados
4 respostas
programaçãojavamysql
D
diogorsc
Estou a trazer registos da base de dados e mostrar numa label mas não está a aparecer todos os registos só aparece o último.
Revi e revi o código principalmente o while mas penso que está direito.
Stringsql="select * from prr.mesa";ResultSetrs=stmt.executeQuery(sql);while(rs.next()){lbA.setText(rs.getString("Cod_Mesa"));}
Não está o código todo escrito só está a parte do stmt e do while.
Para cada objeto retornado na consulta, você deve fazer um new dentro do laço de repetição!
Segue exemplo abaixo:
Stringsql="select * from cadCor";ModeloCormodcor;ResultSetrs=stmt.executeQuery(sql);while(rs.next()){modcor=newModeloCor();modcor.setCodigo(rs.getInt("id_cor"));}
L
LostSoldier
Não verdade você estava apenas substituindo o valor e não acumulando…
StringBuildersb=newStringBuilder();while(rs.next()){sb.append(rs.getString("Cod_Mesa"));//acumula codigo de cada registrosb.append("\n");//pula linha no label...}lbA.setText(sb.toString());//mostra codigos acumulados de uma vez
Se você não quiser pular linha como mostrei usando \n, pode escolher outro caractere como vírgula ou espaço, etc…