[Resolvido] Problema ao Inserir

Pessoal,

estou tentando inserir em uma tabela no mysql com o seguinte Metodo.

public void inserir() { String SQL; SQL = "insert into usuario(id, cod_senha, NOM_USUARIO, NOM_LOGIN, EMAIL, SENHA_MAIL) values (null," + this.nom_senha + "," + this.nom_usuario + "," + this.nom_login + "," + this.nom_email + ","+this.nom_semail +")"; try { acesso.execute(SQL + ";",0); } catch (SQLException ex) { Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex); } }

Porem o mesmo cai no exception o que está errado ?

Bom dia…
Então cara, só olhando assim eu não sei não, mas faz o seguinte:

public void inserir() {
        String SQL;
        SQL = "insert into usuario(id, cod_senha, NOM_USUARIO, NOM_LOGIN, EMAIL, SENHA_MAIL) values (null," +
                      this.nom_senha + "," + this.nom_usuario + "," + this.nom_login + "," + this.nom_email + ","+this.nom_semail +")";
        System.out.pintln("string: " + SQL);
        try {
            acesso.execute(SQL + ";",0);
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Aí vc pega os dados e roda direto no console do BD, se não virar, qual a exceção que tá dando?
flw.

OK, RESOLVIDO, O PROBLEMA ERA A CONCATENAÇÃO.

TINHA DE FICAR ASSIM.

[code]
public void inserir() {
String SQL;

     SQL = "insert into usuario(id, cod_senha, NOM_USUARIO, NOM_LOGIN, EMAIL, SENHA_MAIL) values (null,\"" +
            this.nom_senha + "\",\"" + this.nom_usuario + "\",\"" + this.nom_login + "\",\"" + this.nom_email + "\",\""+this.nom_semail +"\")";
    try {
        acesso.execute(SQL + ";",0);
    } catch (SQLException ex) {
        int Erro;
        Erro  = ex.getErrorCode();
        Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
    }
}[/code]

Para isso foi criado o PreparedStatement… dá uma olhada nisso.

Agora faça da maneira correta com PreparedStatement.

  SQL = "insert into usuario(cod_senha, NOM_USUARIO, NOM_LOGIN, EMAIL, SENHA_MAIL) values (?,?,?,?,?)";  
  pstmt.setString(1, this.nom_senha);
  ...

Voce simplesmente seta o tipo do parametro e o driver faz essa parte suja das aspas.

pstmt.setString(1, this.nom_senha);

E o id geralmente deve ser gerado automaticamente no BD.

Nesse metodo de inserir, como eu poderia chamar ele no meu pacote controle validando se há campos em brancos, e se estiver campos em branco ele exibi uma mensagem…

Mas tudo isso sendo tratado no controle.