Atualizar em um BD mysql

5 respostas
R

Pessoal,
quando tendo fazer uma atualização em BD ocorre esse erro:

cannot issue data manipulation statements with executeQuery()

já substiuir pelo executeUpdate, também não rolou...
estou utlizando o Mysql e Netbeans, segue código:

try{

          String SQL = "UPDATE fornecedor SET " +

           "FNOME_FORNECEDOR = '" +TxtNomAltFor.getText()+"',"+
           "FRUA = '" +TxtRuaAltFor.getText()+"'"+
           "WHERE FCNPJ = '" +TxtAltFor.getText()+ "'";

                   Connection conn = new Conexao().getConexao();
  java.sql.ResultSet rs = conn.createStatement().executeQuery(SQL);

     if(rs != null)

    JOptionPane.showMessageDialog(null,"Atualização realiazada com sucesso");

     else

    JOptionPane.showMessageDialog(null, "Esse cliente ainda não está cadastrado");


               }
          catch(SQLException ex) {

                   JOptionPane.showMessageDialog(null, ex.getMessage());
          }

obrigadaa,

[color="red"]*Editado: tópico movido para o fórum JDBC / SQL, lembre-se de usar BBCode em suas mensagens no fórum. Jair Elton. :joia:[/color]

5 Respostas

P

Olá Regina, acredito que o banco não está considerando o espaço entre o último parametro que você esta passando e a clausula WHERE tenta dar um espaço como abaixo:

String SQL = "UPDATE fornecedor SET " + "FNOME_FORNECEDOR = '" +TxtNomAltFor.getText()+"',"+ "FRUA = '" +TxtRuaAltFor.getText()+"'"+ " WHERE FCNPJ = '" +TxtAltFor.getText()+ "'";

Faz o teste ae, blz??

Até mais, Filipe.

P

Opá, só um detalhe, utilize o método executeUpdate(), ok??

java.sql.ResultSet rs = conn.createStatement().executeUpdate(SQL);

É isso…

Att

J

Sugiro que você use PreparedStatement:

PreparedStatement stmt = conexao.preparedStatement("UPDATE fornecedor SET fnome_fornecedor = ?, frua = ? WHERE fcnpj = ?");

stmt.setString(1, TxtNomAltFor.getText());
stmt.setString(2, TxtRuaAltFor.getText());
stmt.setString(3, TxtAltFor.getText());

stmt.executeUpdate();
R
"jairelton":
Sugiro que você use PreparedStatement:
PreparedStatement stmt = conexao.preparedStatement("UPDATE fornecedor SET fnome_fornecedor = ?, frua = ? WHERE fcnpj = ?");

stmt.setString(1, TxtNomAltFor.getText());
stmt.setString(2, TxtRuaAltFor.getText());
stmt.setString(3, TxtAltFor.getText());

stmt.executeUpdate();

oi, fiz o teste mais está me retornando a seguinte mensagem
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
se puder ajudar
obrigada,
Regina

R

pessoal, quero agradecer o retorno de todos quero registrar que conseguir a atualização com o código abaixo:
valew!!! abs,

try{

String SQL = "UPDATE fornecedor SET " +
                       "FNOME_FORNECEDOR = '" +TxtNomAltFor.getText()+"',"+
                       "FRUA = '" +TxtRuaAltFor.getText()+"'"+
                       "WHERE FCNPJ = '" +TxtAltFor.getText()+ "'";

               Connection conn = new Conexao().getConexao();
               int rs = conn.createStatement().executeUpdate(SQL);

               if(rs == 1)

                       JOptionPane.showMessageDialog(null,

"Atualização realiazada com sucesso !!! ");

else

                       JOptionPane.showMessageDialog(null, " Nome

de Fornecedor não cadastrado. ");

}
      catch(SQLException ex) {

               JOptionPane.showMessageDialog(null, ex.getMessage());
      }

}

Criado 11 de maio de 2007
Ultima resposta 14 de mai. de 2007
Respostas 5
Participantes 3