dark123
Setembro 4, 2008, 10:18am
#1
Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
feminino, não retorna todos os campos de sexo feminino.
Deem uma olhada no trecho que faz o select:
[code] Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
"Erro", JOptionPane.ERROR_MESSAGE);
}[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.
[quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
feminino, não retorna todos os campos de sexo feminino.
Deem uma olhada no trecho que faz o select:
[code] Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
"Erro", JOptionPane.ERROR_MESSAGE);
}[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Ja tentou criar uma Lista e depois dar um new no seu comboBox passando essa lista como parametro
para o seu boxCod
pango
Setembro 4, 2008, 11:37am
#3
[quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
feminino, não retorna todos os campos de sexo feminino.
Deem uma olhada no trecho que faz o select:
[code] Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
"Erro", JOptionPane.ERROR_MESSAGE);
}[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Em vez de
rs.next();
boxCod.addItem(rs.getString("codGado"));
faça
while (rs.next()){
boxCod.addItem(rs.getString("codGado"));
}
dessa forma, você vai iterar por todos os seus registros. Do jeito que você está fazendo, só está recuperando o primeiro registro…
jogue todos os retornos da consulta em um vetor de string “String vetor[]” depois adicione este vetor no combo!
pango
Setembro 4, 2008, 3:11pm
#5
Pessoal,
Só um lembrete: pelo código que o dark123 postou, o problema é que ele não está sabendo iterar pelo ResultSet. As sugestões para criar uma lista ou um vetor com os resultados, apesar de bem intencionadas, não vão resolver o problema dele. Para criar uma lista ou vetor, ele tem que iterar pelo ResultSet.
dark123
Setembro 4, 2008, 4:17pm
#6
[quote=pango][quote=dark123]Bom dia.
Estou com um problema em que o combo só retorna um código com sexo
feminino, não retorna todos os campos de sexo feminino.
Deem uma olhada no trecho que faz o select:
[code] Statement st;
ResultSet rs;
try {
st = con.createStatement();
rs = st.executeQuery("SELECT t1.codGado FROM tabela1 t1 WHERE t1.sexoCria = 'feminino'");
rs.next();
boxCod.addItem(rs.getString("codGado"));
st.close();
} catch (SQLException sqlex) {
JOptionPane.showMessageDialog(this, "Erro ao retornar dado!\n" + sqlex,
"Erro", JOptionPane.ERROR_MESSAGE);
}[/code]
Acho que é no momento em que se é adicionado o valor no combo, bem aqui:
Como proceder?
Obrigado.[/quote]
Em vez de
rs.next();
boxCod.addItem(rs.getString("codGado"));
faça
while (rs.next()){
boxCod.addItem(rs.getString("codGado"));
}
dessa forma, você vai iterar por todos os seus registros. Do jeito que você está fazendo, só está recuperando o primeiro registro…
[/quote]
Haha, com o while deu certo, nossa eu tinha me esquecido disso, ôh cabeça…
Obrigado pango, como você mesmo disse, neste caso, as sugestões para criar uma lista
ou um vetor não resolveriam. No laço while foi bem mais simples e é o recomendável para este tipo de problema…
Abraços a todos que postaram.
Até +