Não seria
insert into tb_cortesia ... values ...
(:?)
Não se esqueça - a ordem dos tratores altera o viaduto.
Não seria
insert into tb_cortesia ... values ...
(:?)
Não se esqueça - a ordem dos tratores altera o viaduto.
Caro everson_z, seu prepareStatement deveria ser assim
insert into tb_cortesia (nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?)
No MySQL o campo que contém auto_increment não é incluído no SQL. Faça esse teste e poste novamente.
Somente uma observação: você colocou o campo id_franquia mas na sua tabela só tem o id_cortesia, o que está errado?
Sds
No seu primeiro e segundo erros informa que não existe a coluna OBJETIVO no seu banco MySQL. No seu primeiro post onde você mostra a estrutura da tabela não existe o campo OBJETIVO. Se você retirar ele da lista do insert e do setString deve funcionar, você já tentou?
Das formas que você utilizou a segunda é a correta, mas tirando o campo objetivo ficaria assim:
PreparedStatement stmt = con.prepareStatement("insert into tb_cortesia (nome, telefone, email, cpf, unidade) values (?,?,?,?,?)");
stmt.setString(1, nome);
stmt.setString(2, telefone);
stmt.setString(3, email);
stmt.setString(4, cpf);
stmt.setString(5, unidade);
stmt.execute();
stmt.close();
Deve funcionar, mas verifica o que é o correto: existir o campo objetivo ou não. Caso negativo você precisa alterar sua tabela.
Sds
Como adiciona quando tem um int not null auto_increment primary ?
[color=red]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'values tb_cortesia (id_franquia, nome, telefone, email, cpf, objetivo, unidade) ' at line 1[/color]
SQLcreate table tb_cortesia (id_cortesia int not null auto_increment primary key,
nome varchar(50),
telefone varchar(13),
email varchar(60),
cpf varchar(13),
unidade varchar(60));
try {
con = Conexao.abreConexao();
PreparedStatement stmt = con.prepareStatement("insert into values tb_cortesia (id_franquia, nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?,?)");
stmt.setInt(1, 0);
stmt.setString(2, nome);
stmt.setString(3, telefone);
stmt.setString(4, email);
stmt.setString(5, cpf);
stmt.setString(6, objetivo);
stmt.setString(7, unidade);
stmt.execute();
stmt.close();
con.close();
System.out.println("Gravado");
} catch (Exception e) {
System.out.println(e.getMessage());
}
Não, isso foi um erro simples…
Meu problema é adicionar no primeiro campo… id_cortesia int not null auto_increment primary key
Se eu deletar o campo de auto numeração funciona
try {
con = Conexao.abreConexao();
PreparedStatement stmt = con.prepareStatement("insert into tb_cortesia (id_franquia, nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?,?)");
stmt.setInt(1, id_franquia);
stmt.setString(2, nome);
stmt.setString(3, telefone);
stmt.setString(4, email);
stmt.setString(5, cpf);
stmt.setString(6, objetivo);
stmt.setString(7, unidade);
stmt.execute();
stmt.close();
con.close();
System.out.println("Gravado");
} catch (Exception e) {
System.out.println(e.getMessage());
}
[color=red]Unknown column ‘id_franquia’ in ‘field list’[/color]
create table tb_cortesia (id_cortesia int not null auto_increment primary key,
nome varchar(50),
telefone varchar(13),
email varchar(60),
cpf varchar(13),
unidade varchar(60));
PreparedStatement stmt = con.prepareStatement("insert into tb_cortesia (id_cortesia, nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?,?)");
stmt.setInt(1, id_cortesia);
stmt.setString(2, nome);
stmt.setString(3, telefone);
stmt.setString(4, email);
stmt.setString(5, cpf);
stmt.setString(6, objetivo);
stmt.setString(7, unidade);
PreparedStatement stmt = con.prepareStatement("insert into tb_cortesia (nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?)");
stmt.setString(1, nome);
stmt.setString(2, telefone);
stmt.setString(3, email);
stmt.setString(4, cpf);
stmt.setString(5, objetivo);
stmt.setString(6, unidade);
stmt.execute();
stmt.close();
con = Conexao.abreConexao();
PreparedStatement stmt = con.prepareStatement("insert into tb_cortesia (nome, telefone, email, cpf, objetivo, unidade) values (?,?,?,?,?,?)");
stmt.setString(2, nome);
stmt.setString(3, telefone);
stmt.setString(4, email);
stmt.setString(5, cpf);
stmt.setString(6, objetivo);
stmt.setString(7, unidade);
stmt.execute();
stmt.close();
con.close();
Não imagino outra maneira p/ fazer isso… no java tem algum comando especial para os campos (auto_increment) ?
Obrigado
A pressão não me deixou ver esse erro