Erro na inserção de dados no BD

4 respostas
P

pq não funfa?

private javax.swing.JTextField loginTXT;
    private javax.swing.JTextField nomeTXT;
    private javax.swing.JPasswordField senhaConfrmSTXT;
    private javax.swing.JPasswordField senhaSTXT;
    [...]
    private void CadastrarBTNMouseClicked(java.awt.event.MouseEvent evt) {                                          
        // TODO add your handling code here:

        try{
            Class.forName("org.gjt.mm.mysql.Driver");
            Connection con;
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xxxxxxxx", "xxxxx", "xxxxxxx");
            Statement sta=con.createStatement();
                  
              
                ResultSet res = sta.executeQuery("INSERT INTO USUARIOS VALUES('"+nomeTXT.getText()+"','"+senhaSTXT.getText()+"','"+loginTXT.getText()+"');");
                
         
            
        }catch (Exception e){
            System.out.println("erro de conexao\n\n"+ e);
        }

        this.setVisible(false);
        
    }
o erro que da é o seguinte: "java.sql.SQLException: Can not issue data manipulation statements with executeQuery()."

como resolver?

4 Respostas

lucas_carvalho100

Troque de

executeQuery

para

executeUpdate()
P

e o que eu coloco dentro se executeUpdate()?
pq se eu coloco a msm coisa de antes da erro de compilação

lucas_carvalho100

Faz assim

private void CadastrarBTNMouseClicked(java.awt.event.MouseEvent evt) {                                            
    // TODO add your handling code here:  
  
    try{  
        Class.forName("org.gjt.mm.mysql.Driver");  
        Connection con;  
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xxxxxxxx", "xxxxx", "xxxxxxx");  
        PreparedStatement stm = con.prepareStatement("INSERT INTO USUARIOS VALUES (?,?,?)");
		stm.setString(1,nomeTXT.getText());
		stm.setString(2, senhaSTXT.getText());
		stm.setString(3,loginTXT.getText());
		stm.executeUpdate();       
          
    }catch (Exception e){  
        System.out.println("erro de conexao\n\n"+ e);  
    }  
  
    this.setVisible(false);  
      
}
narciso.benigno

MUITO IMPORTANTE!!!

Prepared statement evita sql injection!!

Jamais concatene string.

Grande abraço

Criado 11 de janeiro de 2011
Ultima resposta 11 de jan. de 2011
Respostas 4
Participantes 3