Erro Data no MySql

4 respostas
T

Ola pessoal.
Estou com um erro na hora da gravação do MySql e mesmo pesquisando no forum não congui resolve-lo.

tenho um método que vai setar a data e um VendasBean
VendasControl vc = new VendasControl();

         SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
         java.util.Date d = new java.util.Date();
         Date data = Date.valueOf(formato.format(d));
         int codigo = vc.buscarCodigoUltimaVenda() + 1;
         for(int i = 0;i<venda.size();i++){
             venda.get(i).setCodigoCliente(clientes.get(cbClientes.getSelectedIndex()).getCodigo());
             venda.get(i).setDataVenda(data);
             venda.get(i).setCodigo(codigo);
             vc.cadastrarVenda(venda.get(i));
que chama o vc.cadastrarVenda
public void cadastrarVenda(VendasBean venda){

     try{
  pstm = bd.conectar().prepareStatement(cadastraVenda);
  pstm.setInt(1, venda.getCodigo());
  pstm.setInt(2, venda.getCodigoProduto());
  pstm.setInt(3, venda.getCodigoCliente());
  pstm.setDate(4, venda.getDataVenda());
  pstm.setInt(5, venda.getQuantidade());
  pstm.executeUpdate();
  bd.desconectar();
  }catch(SQLException e){
    e.printStackTrace();
  }

O erro é o seguinte
[color=darkred]com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 '(1,1,1,'2011-03-04',1)' at line 1 [/color]

E o MySql

String [color=green]cadastraVenda [/color] = "[color=orange] INSERT INTO VENDAS (CODIGO,PRODUTOS_CODIGO, CLIENTES_CODIGO,DATA_VENDA,QUANTIDADE"+
"VALUES(?,?,?,?,?)"[/color];

Agradeço desde ja

4 Respostas

Scoobydoo

Você ja tentou fazer esse insert manualmente no BD ?
Tenta fazer isso para testes e veja o porque do erro.
Pode ser que sua base não esteja com o campo como int…

drsmachado
String cadastraVenda  = " INSERT INTO VENDAS (CODIGO,PRODUTOS_CODIGO, CLIENTES_CODIGO,DATA_VENDA,QUANTIDADE"+
"VALUES(?,?,?,?,?)";

Onde fecha o parênteses?

T

drsmachado:
String cadastraVenda = " INSERT INTO VENDAS (CODIGO,PRODUTOS_CODIGO, CLIENTES_CODIGO,DATA_VENDA,QUANTIDADE"+ "VALUES(?,?,?,?,?)";

Onde fecha o parênteses?


Realmente, foi MUITA desatenção minha procurei o erro onde menos devia
Obrigado ^^

drsmachado

Tranquilo.
Isso ocorre com frequencia.
Por isso acho muito útil a funcionalidade de, ao abrir parênteses e afins, já fechá-los, nas IDEs mais modernas.

Criado 4 de março de 2011
Ultima resposta 4 de mar. de 2011
Respostas 4
Participantes 3