Re:erro quando tento inserir no bd

3 respostas
I

olá,

String SQL =
“INSERT INTO clientes(id,nome,email,telefone,atividadeatual,senha)” +
“VALUES(?,?,?,?,?,?)”;

no código acima vc não passou os parâmetros da inserção!(os “?” tem que ser setados com os valores a serem inseridos). Ooutra coisa, que eu saiba um “insert” não retorna um ResultSet e sim um “Select”!

espero ter ajudado!

Guiga

3 Respostas

dreamspeaker

Tenta usar executeUpdate ao inves de executeQuery

H

como o cara flw, q eu saiba tb, insert n retorna resultSet, retorna outra coisa (se retornar algo), e essas “?” tem q ter valores, a nao ser, q seja uma PreparedStatement, q usa “?” p setar valores, mas os valores tem q serem setados antes do executeQuery() (vide API p saber como fazer), retorne ai caso tenha conseguido ou n, flw

B

pq esse código dá errado? :

try {
    FormAerobico formAerobico = new FormAerobico();
    DbConnection dbConnection = new DbConnection();
    Statement stm = dbConnection.conectar().createStatement();
    String SQL =
            "INSERT INTO clientes(id,nome,email,telefone,atividadeatual,senha)" +
            "VALUES(?,?,?,?,?,?)";
    ResultSet resultSet = stm.executeQuery(SQL);
    
    formAerobico.setAerobico(resultSet.getInt("aerobico"));
    formAerobico.setAtividade(resultSet.getString("atividade"));
    formAerobico.setDia(resultSet.getString("dia"));
    formAerobico.setLocal(resultSet.getString("local"));
    formAerobico.setTipo(resultSet.getString("tipo"));
    } catch (SQLException e) {
        e.printStackTrace();
    }

o erro é:

java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

at com.mysql.jdbc.Statement.checkForDml(Statement.java:1429)

at com.mysql.jdbc.Statement.executeQuery(Statement.java:1094)
Criado 25 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 3
Participantes 4