Inserir dados Mysql no Netbeans

3 respostas
C

Tenho uma duvida estou fazendo um trabalho da faculdade mas não estou conseguindo inserir dados mysql no netbeans está dando um error e não sei o que fazer.
Meu código está assim:

public boolean incluir() {
    try {
        if (!estaConectado()) {
            conecta();
        }
        stmt = objCon.createStatement();
        sql = "INSERT INTO clientes ("
                + "codigo,"
                + "nome,"
                + "cpf,"
                + "telefone,"
                + "endereco,"
                + "cidade,"
                + "status "
                + ") VALUES ("
                + this.getCodigo() + ", '"
                + this.getNome() + "', '"
                + this.getCPF() + "', "
                + this.getTelefone() + ", '"
                + this.getEndereco() + "', "
                + this.getCidade() + ", "
                + this.getStatus() 
                + ")";
        stmt.executeUpdate(sql);
        stmt.close();
        System.out.print(this.sql);

        return true;
    } catch (SQLException objErro) {
        JOptionPane.showMessageDialog(null,
                "Não foi possível executar a Query /n"
                + objErro.getMessage() + "/n"
                + sql
        );
        return false;
    }

}

3 Respostas

Ruttmann

Qual erro está sendo retornado?

carloshsamaral
public boolean incluir() { 
try { 
if (!estaConectado()) { 
conecta(); 
} 
stmt = objCon.createStatement(); 
sql = "INSERT INTO clientes (" 
+ "codigo," 
+ "nome," 
+ "cpf," 
+ "telefone," 
+ "endereco," 
+ "cidade," 
+ "status " 
+ ") VALUES (" 
+ this.getCodigo() + ", '" //ta faltando algo não?
+ this.getNome() + "', '"  //olha isso aqui
+ this.getCPF() + "', "  //aqui
+ this.getTelefone() + ", '" 
+ this.getEndereco() + "', " 
+ this.getCidade() + ", " 
+ this.getStatus() 
+ ")"; 
stmt.executeUpdate(sql); 
stmt.close(); 
System.out.print(this.sql); 

return true; 
} catch (SQLException objErro) { 
JOptionPane.showMessageDialog(null, 
"Não foi possível executar a Query /n" 
+ objErro.getMessage() + "/n" 
+ sql 
); 
return false; 
} 

}
A

Olá cloudsdk,

A primeira conexão com o banco de dados é trabalhosa mesmo. Mas, vamos por partes:

  1. A instância do Banco de Dados do Mysql está iniciada? Eu usava o Mysql Admin e facilitava bastante a vida.
  2. A base de dados (database) e as tabelas foram criadas? Eu usava o Mysql workbench e ainda é muito fácil de usar. Inclusive eu gerava as query de INSERT e SELECT aqui mesmo.
  3. Você tentou realizar um INSERT antes de escrever o código? Eu utilizava o Squirrel Sql, um cliente SQL escrito em java, que testava o a biblioteca do banco (JAR) e o DRIVER NAME.
  4. Somente depois do Banco estivesse rodando e testado os INSERT, SELECT e DELETE eu começava a codificar em java. Os erros nessa fase são fáceis de consertar uma vez que o banco está pronto.

Em resumo, os problemas na conexão com o banco de dados podem ocorrer porque:

  1. O banco não foi iniciado;
  2. A base de dados não foi criada corretamente com os acessos necessários; (Já vi muita base de produção com o acesso root :P)
  3. O driver JDBC não está incluído na biblioteca do projeto;
  4. O driver name está incorreto;
  5. Erro na codificação no java ao abrir a conexão ou erro ao montar a SQL.

Por último, sempre posta tb o printStackTrace do erro que fica mais fácil de identificar o erro.

Abraços,

Alcides

Criado 5 de outubro de 2015
Ultima resposta 6 de out. de 2015
Respostas 3
Participantes 4