Galera estou com este erro na hora que executo uma inserção de dados na minha tabela. Sei que é um erro que mostra que a quantidade de valores que eu quero inserir não bate com o números de colunas do meu MySQL, mas não consigo encontrar meu erro e muito menos conserta-lo.
AlunosDAO:
package controller;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import model.Aluno;
public class AlunoDAO {
private Connection con;
private PreparedStatement cmd;
public AlunoDAO() {
this.con = Conexao.conectar();
}
public int inserir(Aluno aluno) {
try {
final String SQL = "insert into aluno ( codigo, curso, nome, tel, rua, numero"
+ "cep, bairro, cidade,estado) values (?,?,?,?,?,?,?,?,?,?) ";
cmd = con.prepareStatement(SQL, Statement.RETURN_GENERATED_KEYS);
cmd.setInt(1, aluno.getCodigo());
cmd.setString(2, aluno.getCurso());
cmd.setString(3, aluno.getNome());
cmd.setInt(4, aluno.getTel());
cmd.setString(5, aluno.getRua());
cmd.setInt(6, aluno.getNumero());
cmd.setInt(7, aluno.getCep());
cmd.setString(8, aluno.getBairro());
cmd.setString(9, aluno.getCidade());
cmd.setString(10, aluno.getEstado());
if (cmd.executeUpdate() > 0) {
ResultSet rs = cmd.getGeneratedKeys();
if (rs.next()) {
return rs.getInt(1);
}
}
return -1;
} catch (SQLException e) {
System.out.println("ERRO: " + e.getMessage());
return -1;
} finally {
Conexao.desconectar(con);
}
}
}
Inserção:
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if (txtNome.getText().isEmpty() || txtCodigo.getText().isEmpty() || txtCurso.getText().isEmpty() ||
txtTel.getText().isEmpty()|| txtRua.getText().isEmpty() || txtNumero.getText().isEmpty() || txtCep.getText().isEmpty()
|| txtBairro.getText().isEmpty() || txtCidade.getText().isEmpty()) {
JOptionPane.showMessageDialog(null,
"O campo nome precisa ser preenchido.",
"Cadastro de Aluno",
JOptionPane.WARNING_MESSAGE);
txtNome.requestFocus();
} else {
Aluno adda = new Aluno();
adda.setCodigo(Integer.parseInt(txtCodigo.getText()));
adda.setCurso(txtCurso.getText());
adda.setNome(txtNome.getText());
adda.setTel(Integer.parseInt(txtTel.getText()));
adda.setRua(txtRua.getText());
adda.setNumero(Integer.parseInt(txtNumero.getText()));
adda.setCep(Integer.parseInt(txtCep.getText()));
adda.setBairro(txtBairro.getText());
adda.setCidade(txtCidade.getText());
adda.setEstado(txtEstado.getText());
int res = -1;
if (txtId.getText().isEmpty()) {
res = new AlunoDAO().inserir(adda);
} else {
adda.setCodigo(Integer.parseInt(txtId.getText()));
// res = new AlunoDAO().atualizar(adda);
}
if (res != -1) {
txtId.setText(Integer.toString(res));
JOptionPane.showMessageDialog(null,
"Operação realizada com sucesso.",
"Livraria do João",
JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(null,
"Não foi possível realizar a operação.",
"Livraria do João",
JOptionPane.ERROR_MESSAGE);
}
}
}
MySQL:
drop database if exists db_livraria;
drop database if exists db_portaria;
create database db_portaria;
use db_portaria;
drop table if exists alunos;
drop table if exists docentes;
drop table if exists funcionarios;
drop table if exists encomendas;
drop table if exists cursos;
create table aluno(
id int,
codigo int,
curso varchar(30),
nome varchar(40),
telefone varchar(15),
rua varchar(30),
numero int,
cep int,
bairro varchar(15),
cidade varchar(20),
estado varchar(2),
primary key(codigo)
);
create table docente(
codigo int,
nome varchar(40),
rua varchar(30),
bairro varchar(15),
estado varchar(2),
telefone varchar(15),
numero int,
cep int,
complemento varchar(20),
formacao varchar(30),
primary key(codigo)
);
create table funcionarios(
codigo int,
nome varchar(40),
rua varchar(30),
bairro varchar(15),
estado varchar(2),
telefone varchar(15),
numero int,
cep int,
complemento varchar(20),
funcao varchar(30),
primary key(codigo)
);
create table visitas(
cpf int,
nome varchar(40),
primary key(cpf)
);
create table encomenda(
codigor int,
nomef varchar(40),
primary key (codigor)
);
Se cometi algum erro ao criar o tópico me desculpem, sou novo aqui!