feliipee 0 Denunciar post Postado Outubro 23, 2011 O erro q esta dando no meu programa é o seguinte [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na instrução UPDATE aqui a parte do codigo try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // Procura o Drive do Acess Connection con = DriverManager.getConnection("jdbc:odbc:Funcionarios", " ", " "); Statement stmt = con.createStatement(); // Objeto do SQL String Consnome = jtpesquisar.getText(); int Cadcod = Integer.parseInt(jtcod.getText()); String Cadnome = jtnome.getText(); String Cadendereco = jtendereco.getText(); int Cadnumero = Integer.parseInt(jtnumero.getText()); String Cadcidade = jtcidade.getText(); String Caduf = jtuf.getText(); String Cadsexo = jtsexo.getText(); String Cadcargo = jtcargo.getText(); int registro = stmt.executeUpdate("update Funcionario set COD='"+Cadcod+"',Nome='"+Cadnome+"', Endereco='"+Cadendereco+"', Numero='"+Cadnumero+"', Cidade='"+Cadcidade+"', UF='"+Caduf+"', Sexo='"+Cadsexo+"', Cargo='"+Cadcargo+"', where Nome='"+Consnome+"'"); if (registro != 0) { JOptionPane.showMessageDialog(this, " DADOS ALTERADOS"); } else { JOptionPane.showMessageDialog(this, " DADOS NAO ALTERADOS"); } stmt.close(); con.close(); // fecha a conexao } catch (SQLException e) { JOptionPane.showMessageDialog(this, "Erro de SQL" + e.getMessage()); } catch (ClassNotFoundException ex) { JOptionPane.showMessageDialog(this, "Driver nao Encontrado"); } obrigado qualquer ajuda ja é uma grande ajuda hehe Compartilhar este post Link para o post Compartilhar em outros sites
pvpzaum 0 Denunciar post Postado Outubro 24, 2011 feliipee tenta dar uma olhada no assunto "prepareStatement"pois a arquitetura do seu sistema esta muito confusa e também da forma que você esta fazendo não é mais tão usual pois se não você teria de fazer sempre uma consulta quando quiser "inserir" "deletar" e "atualizar" seus dados entendeu? E outra cria uma classe para a conexão ao seu DB para ficar melhor organizado ae depois você só puxa a conexão um exemplo do uso: Classe Conexão: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Conexao { private final String DATABASE_URL ="jdbc:mysql://localhost:8889/banco"; private final String USERNAME = "root"; private final String PASSWORD = "root"; public static Connection connection = null; public Conexao(){ try { connection = DriverManager.getConnection(DATABASE_URL, USERNAME, PASSWORD); } catch(SQLException sqlException) { sqlException.printStackTrace(); } } } Classe Consulta: public class Consulta{ private Conexao conexao; private prepareStatement update = null; private boolean connectedToDatabase = false; public consulta(){ try{ conexao = new Conexao(); update = conexao.connection.prepareStatement("UPDATE tabela SET campo1 =?, campo2 =?, campo3 =?, campo4 =?, campo5 =?, campo6 =?, campo7=?, campo8=? WHERE id =?"); connectedToDatabase = true; } catch(SQLException sqlException) { sqlException.printStackTrace(); System.exit(1); } } } Método que executa os Sets: public int updateCampo(int id,String campo1, String campo2, String campo3, String campo4, String campo5, String campo6, String campo7, String campo8) { int result =0; try { update.setString(1,campo1); update.setString(2,campo2); update.setString(3,campo3); update.setString(4,campo4); update.setString(5,campo5); update.setString(6,campo6); update.setString(7,campo7); update.setString(8,campo8); update.setInt(9,id); result = update.executeUpdate(); JOptionPane.showMessageDialog(null,"campo alterado com sucesso!"); return result; } Esse seria um exemplo básico de como usar se tiver alguma duvida ou você n quiser usar este método, me manda o erro que da no console completo por favor. Compartilhar este post Link para o post Compartilhar em outros sites