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.
String sql="select * from prr.mesa";
ResultSet rs=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:
String sql = "select * from cadCor";
ModeloCor modcor;
ResultSet rs=stmt.executeQuery(sql);
while (rs.next()){
modcor = new ModeloCor();
modcor.setCodigo(rs.getInt("id_cor"));
}
Não verdade você estava apenas substituindo o valor e não acumulando…
StringBuilder sb = new StringBuilder();
while (rs.next()){
sb.append(rs.getString("Cod_Mesa")); //acumula codigo de cada registro
sb.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…
Muito obrigado pela ajuda ![:slight_smile: :slight_smile:](//www.guj.com.br/images/emoji/twitter/slight_smile.png?v=5)
1 curtida
Só não estou é a pular de linha a partir do
sb.append("\n");
como disse.