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

1 resposta
R

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);

}

}

1 Resposta

moonsite

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.

Criado 26 de junho de 2008
Ultima resposta 28 de jun. de 2008
Respostas 1
Participantes 2