Ola , estou desenvolvendo uma aplicação e estou com o seguinte problema,
toda vez que eu clico em um item da minha lista na Jcombobox, aparece a mensagem de erro do try-catch este:
catch(SQLExceptionex){System.out.println("Ocorreu um erro ao carregar o ComboBox");
este e meu codigo…
privatevoidjComboBox1ActionPerformed(java.awt.event.ActionEventevt){try{try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptionex){System.out.println("Ocorreu um erro ao conectar");}Connectioncon=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/sistemapedidos","root","senha");Statementstm=con.createStatement();Stringsql="select nome from mesa;";com.mysql.jdbc.ResultSetrs=(com.mysql.jdbc.ResultSet)stm.executeQuery(sql);while(rs.next()){jComboBox1.addItem(rs.getInt("nome"));}}catch(SQLExceptionex){System.out.println("Ocorreu um erro ao carregar o ComboBox");}
Você está se autossabotando. Por quê não coloca para ver a mensagem de erro completa, assim saberá o que está dando errado?
Coloque o ex.printStackTrace(); para ver o que está errado, mas pelos nomes adotados, você está tentando pegar um nome como Int.
rs.getInt("nome")
Os nomes das mesas são inteiros?
M
MarcelloFelipe
os nomes da tabela mesa … sao varchar …
M
MarcelloFelipe
a eu coloquei o ex.printStackTrace();
e me mostrou o erro… estava com o nome do bando errado e com a senha, mas coloquei certo
e mesmo assim n esta funcionando
verifique os seus imports, você está com dois ResultSets de pacotes diferentes.
M
MarcelloFelipe
o que quer diser esta parte do codigo
while (rs.next()){
jComboBox1.addItem(rs.getInt("nome"));
}
especificamente o que vai dentro das aspas, onde eu coloquei “nome” ?
por que eu fiz foi copiar este codigo… completo… e no lugar de nome tinha codigo
ErickRAR
Ele faz o cast da coluna que você passar por parametro para Int. A coluna que estava no exemplo era código, que é int(1,2,3,5,6). São numeros inteiros. Você está fazendo o cast de um nome para um numero. É como falar que o numero do seu CPF é “João”.
Com o ResultSet você pode pegar outros valores também, como String(rs.getString), double etc.
M
MarcelloFelipe
Nao esta funcionando olha como esta
privatevoidjComboBox1ActionPerformed(java.awt.event.ActionEventevt){try{try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptionex){System.out.println("Ocorreuumerroaoconectar");}Connectioncon=(Connection)DriverManager.getConnection("jdbc:mysql://localhost/sistemapedido","root","0303");Statementstm=con.createStatement();Stringsql="select nome from mesa;";com.mysql.jdbc.ResultSetrs=(com.mysql.jdbc.ResultSet)stm.executeQuery(sql);while(rs.next()){jComboBox1.addItem(rs.getInt("nome"));}}catch(SQLExceptionex){}
cacote do resulteset
publicclassResultSet{publicbooleannext(){thrownewUnsupportedOperationException("Not supported yet.");//To change body of generated methods, choose Tools | Templates.}publicObjectgetInt(Stringnome){thrownewUnsupportedOperationException("Not supported yet.");//To change body of generated methods, choose Tools | Templates.}}
Qual erro dá? Não é Para apagar, apenas retirar o cast.
M
MarcelloFelipe
ola o que e Cast ?
M
MarcelloFelipe
ola o que e Cast ?
igor_ks
MarcelloFelipe dica: estude um pouco mais sobre a linguagem java, antes de querer construir algo mais avançado. Procure entender o que cada código faz, procure ir atrás da documentação, para ver pra que serve tal classe e tal método. Senão vc vai ter muitos problemas pra frente e não vai conseguir resolver sozinho…