INSERT INTO (MySQL) [RESOLVIDO]

Olá, estou desenvolvendo um projeto que envolve o uso do mySql, a conecção já esta tudo ok, consigo extrair informações usando:

  resultSet = statement.executeQuery("SELECT...");
[/code] No entanto, fui tentar inserir valores na tabela e deu errado, é estranho porque se eu digitar no console do mysql: INSERT INTO notejavabook (commitment,date) VALUES('test','2011-11-11'); ele aceita de boa. Mas se eu fazer :
[code] resultSet = statement.executeQuery("INSERT INTO notejavabook (commitment,date) VALUES('test','2011-11-11')");

Da o seguinte erro: Can not issue data manipulation statements with executeQuery();

Já falaram para eu usar o PreparedStatement, neste instante estou buscando informações sobre ele. Mas, desejo saber o porque está dando erro da forma q eu estou tentando.
Flw!


Statement e resultSet:

statement = (Statement) connection.createStatement();
resultSet = statement.executeQuery("Commando MYSQL");

Sempre consulte a documentação da classe. Vc precisa usar o método executeUpdate para fazer alterações no banco via Statement: http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html

Exato, até porque uma Insert, Delete ou Update não é uma consulta e sim uma atualização da sua tabela. Nestes casos, deve-se usar o executeUpdate.

Abraços.

o executeQuery retorna um resultset, e recebe uma consulta SQL. O INSERT, UPDATE e DELETE são comandos de manipylação de dados, e não retornam resultados (não como um select, eles retornam geralmente o nº de linhas afetados pela instrução. Por isso não funciona com executeQuery.

Para utilizar esses comandos, vc tem que utilizar executeUpdate, que é para comandos de atualização, e retorna um int, com o número de tuplas afetados pelo0 comando.

o mesmo serve para PreparedStatment

Boa tarde!

Segue um exemplo simples de como executar o update utilizando o Statement

Statement st = conn.createStatement();
String sql = "INSERT INTO PESSOA VALUES (1,'FERNANDO HENRIQUE')";
st.executeUpdate( sql );
sql = "INSERT INTO PESSOA VALUES (2,'LUÍS INÁCIO')";
st.executeUpdate( sql );
sql = "INSERT INTO PESSOA VALUES (3,'ANTÔNIO CARLOS')";
st.executeUpdate( sql );
st.close();
conn.close();

Att.

Obrigado a todos.
Estou estudando agora PreparedStatement vlw!

RESOLVIDO!