yoshikichi:
windsofhell:
Sintaxe do insert ta errada.
insert into TIPO_LANCAMENTO values (?,?);
ou vc poderia especificar os campos tb por exemplo ;
insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);
//Daniel
claro q se especificar os campos é o correto, mas, qndo vc coloca:
veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:
String sql = "insert into Tabela"+
" values(default,?,?,?,?,?);";
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1,"QUALQUER COISA 2");
pre.setString(2,"[email removido]");
pre.setString(3,"outra coisa");
pre.setString(4,"quarto parametro");
pre.setString(5,"ISSO funciona");
pre.executeUpdate();
por obrigação, qndo vc nao coloca:
insert into tabela (campos) values(valores);
VC tem q passar todos os parametros na tabela.
falow
Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.
Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:
ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);
vc nao precisa adicionar ID, ai vc poderia somente fazer
insert into users (name, email) values (?, ?);
De qualquer forma a instrucao SQL que ele tava usando estava errada:
insert into TIPO_LANCAMENTO (?,?);
nao existe.
O correto insert into TIPO_LANCAMENTO values (?,?);
Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.
//Daniel