boa tarde galera, estou com uma dúvida numa função. Tenho um botão que a princípio quando clicado, joga pra dentro de um text área os nomes dos clientes, formando tipo uma lista. Mas o q tá acontecendo é que ele manda somente o nome do primeiro cliente da lista e ñ continua inserindo os outros.
O que estou fazendo de errado?
aí tá meu código:
[code]
miGerar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
int i;
try {
Class.forName("org.postgresql.Driver");
cone = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/postgres", "postgres",
"1234");
Statement s = cone.createStatement(); // ATÉ AQUI, THE SAME
StringBuffer cmd = new StringBuffer();
cmd.append("select nomemusica from stcreator.musica"); // A CONSULTA A SER FEITA
rs = s.executeQuery(cmd.toString());
rs.next();// PADRÃO
rs.first();// PADRÃO
for (i=0;i<10;i++){
rs.next();
setlist.setText(rs.getString("nomemusica"));
} setlist.setText(rs.getString("nomemusica"));
Salvar();
new SetList();
}catch (Exception excecao) {
System.out.println("Caiu a casa: não achou o BD");
System.out.println(excecao);
}}; // }FINAL DO CATCH / } FINAL DO PUBLIC VOID DO ACTION
}); // FINAL DO PRIMEIRO ACTIONLISTENER[/code]
desde já agradeço
Tenta assim:
cmd.append("select nomemusica from stcreator.musica"); // A CONSULTA A SER FEITA
rs = s.executeQuery(cmd.toString());
rs.first();// PADRÃO
do
{
setlist.setText(rs.getString("nomemusica"));
}
while(rs.next());
Salvar();
new SetList();
[quote=Paezani] Tenta assim:
cmd.append("select nomemusica from stcreator.musica"); // A CONSULTA A SER FEITA
rs = s.executeQuery(cmd.toString());
rs.first();// PADRÃO
do
{
setlist.setText(rs.getString("nomemusica"));
}
while(rs.next());
Salvar();
new SetList();
Us o /n ou \n para pular linhas se quiser…
[/quote]
O que você espera que o método setText faça? Na última vez que li a documentação, ele jogava fora todo o texto anterior, e substituía pelo texto passado como parâmetro.
Dica: veja também o método getText.
Outra dica: não use o método “first”, a menos que você tenha certeza absoluta que o resultset tem 1 ou mais registros. Se ele tiver 0 registros, então ele vai provocar uma exceção. Normalmente nunca é necessário usar “first”.
cara, valeu pela ajuda, mas ñ tá dando resultado… ele tá inserindo apenas um registro , ou seja um encima do outro.
segundo o que tu disseste eu devo usar um \n pra ele por abaixo, mas ñ tô conseguindo achar sitaxe certa eu tô fazendo assim:
setlist.setText(rs.getString("nomemusica")+"\n");
como é a forma certa?
abraço
Para pular a linha eu uso o \n aqui mesmo, não sei se existe uma maneira melhor, talvez sim. Quanto ao setText sumir tudo, usa o o método append que ele acrescenta a String no fim do documento.
Abraços!
pô beleza! Funcionou! Muito obrigado.
abração