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

9 respostas
L
public void executUpdate( String update )
      throws SQLException, IllegalStateException
   {
      // assegura que o banco de dados conexão está disponível
      if ( !connectedToDatabase )
         throw new IllegalStateException( "Not Connected to Database" );

        statement.executeQuery( update );

   } // fim do método setQuery

   // fecha Statement e Connection
   public void disconnectFromDatabase()
   {
      if ( !connectedToDatabase )
         return;

      // fecha Statement e Connection
      try
      {
         statement.close();
         connection.close();
      } // fim do try
      catch ( SQLException sqlException )
      {
         sqlException.printStackTrace();
      } // fim do catch
      finally  // atualiza status de conexão de banco de dados
      {
         connectedToDatabase = false;
      } // fim do finally
   } // fim do método disconnectFromDatabase

esse é o erro!

SEVERE: null

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

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)

at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:412)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1297)

at ResultSetTableModel.executUpdate(ResultSetTableModel.java:179)

9 Respostas

L
private class EventoBotao implements ActionListener{
		//metodo que vai realizar as a�oes do campo de texto
		public void actionPerformed(ActionEvent e)
		{
                 String queryNome, queryCurso,queryTitulo;

                 queryNome = textFieldNome.getText();
                 queryCurso= (String) comboBoxCurso.getSelectedItem();
                 queryTitulo= (String) comboBoxCategoria.getSelectedItem();

			if(e.getSource()== botaoAdicionar){
                
                    String dados = "insert into pessoa(Titulo,Nome,Curso) values (" + "'" + queryTitulo + "' , " + "'" + queryNome + "' , " + "'" + queryCurso + "');";
                    textFieldNome.setText("");
                try {
                    TableModel.executUpdate(dados);
                } catch (SQLException ex) {
                    Logger.getLogger(Telap.class.getName()).log(Level.SEVERE, null, ex);
                } catch (IllegalStateException ex) {
                    Logger.getLogger(Telap.class.getName()).log(Level.SEVERE, null, ex);
                }
                        }

aqui é onde eu faço minha inserção.

R
Olá caro colega

esse erro informa que seu statement nao está operando o metodo executequery(sql);

corrija sua forma de acesso a dados com um algum pather e alguma forma de controle de sql antes de passar paramentro para statement.executequery(sql)

lembrando que statement.executquery retorna um boolean e nao um update

Espero ter Ajudado…

L

Como assim controle? pather? sou iniciante postei no forum java basico mais niguem me respondeu… então decidi vim busca ajuda aqui!!!

B

Use o executeQuery para seus Selects… Use o executeUpdate para Inserts e Updates.

L

então é

statement.executeUpdate( update );

ao inves de

statement.executeQuery( update );

é isso?

B

Testou?

Funcionou?

Você é quem vai me dizer se é ou não é :smiley:

L

cara puts valeu mesmo valeu era isso Update em vez de Query

L

funfoo valeu mah valeu valeu resolvido õ/

M

Vlw, também estava usando Query. :smiley:

Criado 26 de maio de 2010
Ultima resposta 13 de mai. de 2012
Respostas 9
Participantes 4