Erro em insert

6 respostas
A
Ola estou fazendo um exemplo que achei na net, mas estou tendo problemas em fazer o insert e update acho q a sitaxe da query esta errada. Acho que meu erro esta na linha 66 e 78 a 82.
package conexao;  
      
    import java.sql.*;  
      
    public class Conexao {  
         
      public Connection con;  
      public Statement stm;  
      public ResultSet res = null;  
      private String nome = null;  
      private int idade = 0;  
      private String sexo = null;  
      private String mail = null; 
      public Conexao() {  
     
         try {  
     
            Class.forName("org.gjt.mm.mysql.Driver");  
            con =  
               DriverManager.getConnection(  
                 "jdbc:mysql://localhost:3306/teste",  
                 "root",  
                 "root");  
            stm = con.createStatement();   
              
         } catch (Exception e) {  
            System.out.println("não foi possível conectar ao banco" + e.getMessage());  
         }  
      }  
        
      public void setNome(String nome){  
         this.nome = nome;  
      }  
           
      public void setIdade(int idade){  
         this.idade = idade;  
      }  
     
      public void setSexo(String sexo){  
         this.sexo = sexo;  
      }
      
      public void setMail(String mail){  
          this.mail = mail;  
       } 
      
      public String getNome(){  
         return nome;  
      }  
     
      public int getIdade(){  
         return idade;  
      }  
           
      public String getSexo(){  
         return sexo;  
      } 
      
      public String getMail(){  
          return mail;  
       }  
      
      public void inserirDados(){  
        
         try {  
            String query = "insert into pessoa(nome,idade,sexo,mail) values(\" "+nome+" \","+idade+",\" "+sexo+" \","+mail+")";  
            stm.executeUpdate(query);  
     
         }catch (SQLException e){System.out.println("Erro na inserção:" + e.getMessage());}  
           
      }  
     
      public boolean alterarDados(){  
           
         boolean testa = false;  
        
         try {  
            String query = "update pessoa "+  
                        "set idade = " + idade + ", "+  
                        "sexo = \"" + sexo + "," +  
                        "mail = \"" + mail + ","+
                        "where nome = \"" + nome + "\"";  
     
            int linhas = stm.executeUpdate(query);  
              
            if (linhas > 0)  
               testa = true;  
            else  
               testa = false;  
     
         }catch (SQLException e){System.out.println("Erro na inserção:" + e.getMessage());}  
           
         return testa;  
      }  
        
      public boolean excluirDados(){  
        
       boolean testa = false;  
        
         try {  
            String query = "delete from pessoa where nome='" + nome+"'";  
            int linhas = stm.executeUpdate(query);  
              
            if (linhas > 0)  
               testa = true;  
            else  
               testa = false;  
     
        }catch (SQLException e){System.out.println("Erro na exclusão:" + e.getMessage());}  
          
        return testa;  
     }  
       
     public boolean consultarDados(){  
          
        boolean testa = false;  
             
        try {  
           String query = "select * from pessoa where nome='" + nome+"'";  
           res = stm.executeQuery(query);  
             
           if (res.next()){testa = true;}  
           else{testa = false;}  
             
        }catch (SQLException e){System.out.println("Erro na inserção:" + e.getMessage());}  
          
        return testa;  
     }     
    
     public void setConsulta() {  
          
        try {  
           res = stm.executeQuery("select * from pessoa");  
        }   
        catch (SQLException e){  
           e.printStackTrace();  
        }  
    
     }  
    
     public ResultSet getResultado() {  
        return res;  
     }  
  }
A msg erro e a seguinte
Erro na inserção:null,  message from server: "Unknown column 'huasadasdas' in 'field list'"

Outra duvida como eu faço pra imprimir o camando sql da query?

6 Respostas

dedspr

Olá ale25

Acho que erro esta nas variaveis que irá inserir, tente colocalas entre apostofro…

String query = "insert into pessoa(nome,idade,sexo,mail) values('"+nome+"','"+idade+"','"+sexo+"','"+mail+"')";

na SQL de Update também…

tlevi

Pode até ser que a sua query esteja errada, mas eu acredito q o problema esta no fato de vc estar tentando inserir um valor null dentro do seu banco de dados. Quando vc declarou a classe, vc atribui nome a uma referencia null. Se vc tentar utilizar o método inserirDados e não mudar este valor para uma String valida, eu acho q vai continuar dando erro.
Tente atribuir outra coisa para o nome e para as outras variaveis que vc apontou para null, tipo assim :

nome = Zezinho;

sexo = Masculino;

mail = [email removido];

Mande imprimir na tela o valor de query, antes de stm.executeUpdate(query):

System.out.println(query);

Leví

fiaux

Mais uma vez: use prepared statement, leia o artigo aqui no GUJ.

A

Po postei faz pouco tempo e tanta gente já ajudou brigadão mesmo. Vo da uma olhada aqui o posto o resultado.

A

dedspr:
Olá ale25

Acho que erro esta nas variaveis que irá inserir, tente colocalas entre apostofro…

String query = "insert into pessoa(nome,idade,sexo,mail) values('"+nome+"','"+idade+"','"+sexo+"','"+mail+"')";

na SQL de Update também…

ola dedspr era esse mesmo o erro vlw.

dedspr

Que isso ale25… estamos ai para ajudar se precisar de mais alguma coisa e eu puder ajudar é só dar um toque…

Criado 10 de setembro de 2008
Ultima resposta 10 de set. de 2008
Respostas 6
Participantes 4