Erro ao inserir no BD - GDS Exception. 335544334. conversion error from string "2000"

private void jbt_AdicionarActionPerformed(java.awt.event.ActionEvent evt) {
try {

vUF = Integer.parseInt(jtf_Estado.getText());
vNome = jtf_Descricao.getText();
vDatValidade = jtf_Data_Validade.getText();

TestaConexao conexao = new TestaConexao();
conexao.conectaBanco();

[color=red] String cQuerySql = “insert into Produtos (Descricao, Data_Validade, Estado) values (’” + vNome + "’, ’ + 2000/01/01 + ’ , " + vUF + “)”;
[/color] // data_validade é do tipo date no DB.
conexao.adicionarDados(cQuerySql);

} catch(Exception e){
JOptionPane.showMessageDialog(null, “Erro”, “Mensagens”, JOptionPane.INFORMATION_MESSAGE);
}
}

rsa_tche,

Tente assim:

String cQuerySql = "insert into Produtos (Descricao, Data_Validade, Estado) values ('" + vNome + "', '2000-01-01', " + vUF + ")";

Aproveito para lembrar que, como você está concatenando o valor digitado na caixa de texto de “descrição” diretamente na query, você pode ter problemas com caracteres especiais, ou até mesmo ataque de injeção de SQL.

Imagine, por exemplo, que um produto chame “jato d’água”. O apóstrofo da descrição vai provocar um erro no insert.

Pense na possibilidade de utilizar statements com parâmetros.