Inserir dados em DB

2 respostas
W

Olá pessoal.

Seguinte.

Estou usando JSF, e quero inserir dados em uma tabela do postgreSQL.

Tenho o seguinte código:try { tblpesagemDataProvider1.appendRow(); tblpesagemDataProvider1.setValue("idpesagem", intId); tblpesagemDataProvider1.setValue("placa", strPlaca); tblpesagemDataProvider1.setValue("tipo","a"); tblpesagemDataProvider1.setValue("numseq",intId); tblpesagemDataProvider1.setValue("pesageminicial", Integer.parseInt(strPrimeira)); tblpesagemDataProvider1.setValue("pesageminicialtime", stringToTimeStamp(strDtPrimeira)); tblpesagemDataProvider1.setValue("pesagemfinal", Integer.parseInt(strSegunda)); tblpesagemDataProvider1.setValue("pesagemfinaltime", stringToTimeStamp(strDtSegunda)); tblpesagemDataProvider1.setValue("produto", strProduto); tblpesagemDataProvider1.setValue("transportadora", strTransp); tblpesagemDataProvider1.setValue("local", strLocal); tblpesagemDataProvider1.setValue("navio", strNavio); tblpesagemDataProvider1.setValue("cliente", strCliente); tblpesagemDataProvider1.commitChanges(); //tblpesagemDataProvider1.cursorNext(); } catch (Exception ex) { log("Error Description", ex); error("Error :"+ex.getMessage()); }

Mas acontece que, o primeiro, ele insere legal… mas o segundo, ele insere um registro com ID 0, e atualiza o número do registro anterior… com os dados… ou seja, ele não insere nunca um novo, só atualiza o que já está gravado, deixando a tabela sempre com somente dois registros…

O que faço eu?!

Valeu galera.

:smiley:

2 Respostas

finotti

coloque o campo ID da tabela como auto increment.
dessa forma não é preciso setar o valor desse campo na hora de inserir.

tblpesagemDataProvider1.setValue("idpesagem", intId);

se não quiser/puder usar auto increment, crie uma classe PK pra gerenciar isso pra vc.

W

Consegui!!!

lol

try { tblpesagemDataProvider1.cursorLast(); tblpesagemDataProvider1.cursorNext(); tblpesagemDataProvider1.appendRow(); tblpesagemDataProvider1.setValue("idpesagem", intId); tblpesagemDataProvider1.setValue("placa", strPlaca); tblpesagemDataProvider1.setValue("tipo","a"); tblpesagemDataProvider1.setValue("numseq",intId); tblpesagemDataProvider1.setValue("pesageminicial", Integer.parseInt(strPrimeira)); tblpesagemDataProvider1.setValue("pesageminicialtime", stringToTimeStamp(strDtPrimeira)); tblpesagemDataProvider1.setValue("pesagemfinal", Integer.parseInt(strSegunda)); tblpesagemDataProvider1.setValue("pesagemfinaltime", stringToTimeStamp(strDtSegunda)); tblpesagemDataProvider1.setValue("produto", strProduto); tblpesagemDataProvider1.setValue("transportadora", strTransp); tblpesagemDataProvider1.setValue("local", strLocal); tblpesagemDataProvider1.setValue("navio", strNavio); tblpesagemDataProvider1.setValue("cliente", strCliente); tblpesagemDataProvider1.commitChanges(); } catch (Exception ex) { log("Error Description", ex); error("Error :"+ex.getMessage()); }

Criado 5 de dezembro de 2008
Ultima resposta 5 de dez. de 2008
Respostas 2
Participantes 2