Pessoal!
Estou utilizando um banco de dados MySQL, quando vou fazer uma inserção a seguinte mensagem de erro aparece:
java.sql.SQLException: Column count doesn't match value count at row 1
Pesquisei um pouco e ouvi dizer que esse erro aparece quando uma tabela suporta 3 tipos de dados e eu insiro 4 por exemplo, mas mesmo assim não consegui resolver o problema!
Alguém poderia me ajudar!
Aqui vai trechos do meu código.
Código Javapublic boolean inserirCadastro(Cadastro c) {
try{
conexao.makeConexao();
if(!conexao.conexaoPersiste())
return false;
String query = "INSERT INTO cadastro(cod_escola, cod_diretoria, num_oficio, data_oficio, data_visita" +
"resumo_oficio, situacao, problemas,solucao,outros) VALUES(?,?,?,?,?,?,?,?,?,?)";
ps = conexao.getConexao().prepareStatement(query);
ps.setInt(1,c.getEscola().getCodigo());
ps.setInt(2, c.getDiretoria().getCodigo());
ps.setString(3,c.getNumeroOficio());
ps.setString(4,c.getDataOficio());
ps.setString(5,c.getDataVisita());
ps.setString(6,c.getResumoOficio());
ps.setString(7,c.getSituacao());
ps.setString(8,c.getProblemas());
ps.setString(9,c.getSolucao());
ps.setString(10,c.getOutros());
ps.execute();
ps.close();
conexao.commitDados();
return true;
} catch(SQLException erro) {
System.err.println(erro);
System.err.println("Erro na Inserção");
conexao.rollBack();
return false;
}
}
CREATE TABLE cadastro(
cod_cadastro int not null auto_increment,
cod_escola int ,
cod_diretoria int,
num_oficio varchar(16),
data_oficio date,
data_visita date,
resumo_oficio varchar(200),
situacao varchar(200),
problemas varchar(200),
solucao varchar(200),
outros varchar(200),
PRIMARY KEY(cod_cadastro),
FOREIGN KEY(cod_escola) references escola,
FOREIGN KEY(cod_diretoria) references escola
);