Boa tarde pessoal, antes de mais nada gostaria de dizer que não sei muito de Java e estou desenvolvendo um programa simples de cadastro de clientes para praticar. Utilizo um pouco de MVC e separo por pacotes, model, view e DAO.
O meu problema está na hora de inserir os dados no banco, a única coisa que está sendo enviada é o ID do cliente, já rodei o código todo aqui e não consegui enxergar o erro.
Aqui está a parte do DAO em que eu salvo o cliente no banco:
public void salvarCliente(Cliente cliente)
{
String sql = “INSERT INTO cliente (CLI_ID, CLI_NOME, CLI_CPF, CLI_NASC, CLI_ENDERECO, CLI_EMAIL, CLI_TEL, CLI_BAIRRO, CLI_CEP, CLI_ESTADO)”
+ “VALUES (?,?,?,?,?,?,?,?,?,?)”;
Connection conn = null;
PreparedStatement pstm = null;
try
{
//prepara a conexão com o BD
conn = Conexao.getConexaoMySQL();
//cria um PreparedStatment, classe usada para executar a query
pstm = conn.prepareStatement(sql);
//adciona o valor ao 1º parametro
pstm.setInt(1,cliente.getCLI_ID());
//adciona o valor ao 2º parametro
pstm.setString(2, cliente.getCLI_NOME());
//adciona o valor ao 3º parametro
pstm.setString(3,cliente.getCLI_CPF());
//adciona o valor ao 4º parametro
pstm.setDate(4, cliente.getCLI_NASC());
//adciona o valor ao 5º parametro
pstm.setString(5,cliente.getCLI_ENDERECO());
//adciona o valor ao 6º parametro
pstm.setString(6,cliente.getCLI_EMAIL());
//adciona o valor ao 7º parametro
pstm.setString(7,cliente.getCLI_TEL());
//adciona o valor ao 8º parametro
pstm.setString(8,cliente.getCLI_BAIRRO());
//adciona o valor ao 9º parametro
pstm.setString(9,cliente.getCLI_CEP());
//adciona o valor ao 10º parametro
pstm.setString(10,cliente.getCLI_ESTADO());
//executa a query
pstm.execute();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(pstm != null)
{
pstm.close();
}
if(conn != null)
{
conn.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
Aqui está a parte do botão no JFrame que chama o metodo acima:
public void actionPerformed(ActionEvent e) {
//capturando o ID
String ID = txtID.getText();
int id = Integer.parseInt(ID);
cliente.setCLI_ID(id);
//capturando o nome
cliente.setCLI_NOME(txtNome.getText());
//capturando o CPF/CNPJ
cliente.setCLI_CPF(txtCPF.getText());
//capturando o telefone
cliente.setCLI_TEL(txtTel.getText());
//capturando o email
cliente.setCLI_EMAIL(txtEmail.getText());
//capturando o endereço
cliente.setCLI_ENDERECO(txtEndereco.getText());
//capturando o bairro
cliente.setCLI_BAIRRO(txtBairro.getText());
//capturando o cep
cliente.setCLI_CEP(txtCEP.getText());
//capturando a escolha do combobox
cliente.setCLI_ESTADO(String.valueOf(cbEstado.getSelectedItem()));
//capturando a data de nascimento
java.util.Date invoiceDate = null;
try
{
invoiceDate = formatDate.parse(txtDataNasc.getText().trim());
}catch(Exception e4)
{
e4.printStackTrace();
}
java.sql.Date sqlDate = new java.sql.Date(invoiceDate.getTime());
cliente.setCLI_NASC(sqlDate);
//fim da captura de data de nascimento
if ((txtID.getText().isEmpty()) || (txtNome.getText().isEmpty()) || (txtCPF.getText().isEmpty()) || (txtTel.getText().isEmpty()) || (txtEmail.getText().isEmpty()) || (txtEndereco.getText().isEmpty()) || (txtBairro.getText().isEmpty()) || (txtCEP.getText().isEmpty()))
{
JOptionPane.showMessageDialog(null,"<html>Os campos com * <strong>não</strong> podem ficar vazios!</html>");
}
else
{
dao.salvarCliente(cliente);
JOptionPane.showMessageDialog(null, "Cliente " + txtNome.getText() +" inserido com sucesso!" );
limparCampos();
}
}
Peço desculpas caso a formatação não esteja (e sei que não esta ) do jeito certo, sou novo no forum também.
Caso esteja faltando alguma parte do código, eu posto também.
Obrigado desde já.