Jpais Posted May 19, 2009 at 09:02 AM Report #265289 Posted May 19, 2009 at 09:02 AM Boas hoje surgiu-me um erro que não consigo resolver já passei umas horas a olhar para isto e ainda não consegui resolver por isso venho aqui pedir ajuda... o código é o seguinte: try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/pap?user=root&password="); Statement stm = conn.createStatement(); ResultSet rc = stm.executeQuery("SELECT COUNT(*) from veiculos where matricula = '" +jTextField1.getText()+ "'"); rc.next(); int matricul = Integer.parseInt(rc.getString("matricula")); System.out.println("Passei"); if( matricul==0 ){ stm.executeUpdate ("insert into veiculos ( matricula, marca, modelo, ano, mes) values('" +jTextField1.getText()+"','" + jTextField2.getText() + "','" +jTextField3.getText()+ "','" + jTextField4.getText() + "','" +jTextField5.getText()+"')"); ResultSet rs = stm.executeQuery("SELECT cod_veiculo from veiculos where matricula like '" +jTextField1.getText()+"'"); int cod_veiculo = Integer.parseInt(rs.getString("cod_veiculo")); stm.executeUpdate("insert into donos( n_cliente, cod_veiculo) values ('" + jTextField6.getText()+ "','" +cod_veiculo+ "')"); JOptionPane.showMessageDialog(this,"Cliente Inserido com Sucesso", "Cliente", JOptionPane.INFORMATION_MESSAGE); jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); } else JOptionPane.showMessageDialog(this, "Erro","Este carro já se encontra registado!", JOptionPane.ERROR_MESSAGE); //avisa que foi inserido com sucesso e poe os valores da textfield a zero } catch(ClassNotFoundException x) { System.out.print(x.getMessage()+" :nao encontrei a classe"); JOptionPane.showMessageDialog(this,"Erro", "Erro", JOptionPane.ERROR_MESSAGE); } catch(SQLException x) { System.out.print(x.getMessage()); JOptionPane.showMessageDialog(this,"Erro no SQL", "Erro", JOptionPane.ERROR_MESSAGE); //quando introduzido um numero repetido aparece um alert que avisa que esse numero ja se encontra utilizado } } else { JOptionPane.showMessageDialog(null,"Ainda existem campos em branco.","Erro", JOptionPane.INFORMATION_MESSAGE); } o erro que dá é que: Column 'matricula' not found. Já visualizei a base de dados e está tudo bem... não consigo perceber porque me dá este erro. Agradecia que me ajudassem... [move]Jpais[/move]
M6 Posted May 19, 2009 at 12:42 PM Report #265348 Posted May 19, 2009 at 12:42 PM O erro que te dá é nesta linha int matricul = Integer.parseInt(rc.getString("matricula")); não é? É que o result set efectivamente não tem a coluna matricula pois é um select count(*). 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Jpais Posted May 26, 2009 at 09:46 AM Author Report #267308 Posted May 26, 2009 at 09:46 AM Já consegui resolver... ResultSet rc = stm.executeQuery("SELECT COUNT(*) as contagem from veiculos where matricula = '" +jTextField1.getText()+ "'"); rc.next(); int matricula =Integer.parseInt(rc.getString("contagem")); A solução era atribuir uma variável onde o sql iria guardar a contagem.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now