é porque eu esqueci mesmo e como eu to mechendo com access o retorno dele nao é tão bom portanto estou na duvida do seguinte como eu vo fazer um boolean pra informar se realmente inseriu ou nao vou mandar meu metodo insert
[code]public void insertServicos() throws SQLException {
ArrayList servico = obterServicos();
Connection con = PoolConexoes.getInstance().obterConexao();
int linha =1;
try {
for (ServicosContratados servicosC : servico) {
PreparedStatement stmtInsertItem = con
.prepareStatement(“INSERT INTO ServicosContratados ( CRG, PERIODO_I, PERIODO_F, TRECHO, TAREFA, CONTRATADO, PRODUCAO, REFERENCIA ) values (?, ?, ?, ?, ?, ?, ?, ?)”);
stmtInsertItem.setString(1, servicosC.getCRG());
stmtInsertItem.setString(2, servicosC.getPERIODO_I());
stmtInsertItem.setString(3, servicosC.getPERIODO_F());
stmtInsertItem.setString(4, servicosC.getTRECHO());
stmtInsertItem.setString(5, servicosC.getTAREFA());
stmtInsertItem.setString(6, servicosC.getCONTRATADO());
stmtInsertItem.setString(7, servicosC.getPRODUCAO());
stmtInsertItem.setString(8, servicosC.getExpr1());
stmtInsertItem.execute();
stmtInsertItem.close();
linha++;
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não foi possivel inserir a linha : " + linha +" motivo :"+ e);
} finally {
PoolConexoes.getInstance().liberarConexao(con);
}
JOptionPane.showMessageDialog(null,
"Registros de serviços contratados inserido com sucesso");
}
[quote=guialeixo]é porque eu esqueci mesmo e como eu to mechendo com access o retorno dele nao é tão bom portanto estou na duvida do seguinte como eu vo fazer um boolean pra informar se realmente inseriu ou nao vou mandar meu metodo insert
[code]public void insertServicos() throws SQLException {
ArrayList servico = obterServicos();
Connection con = PoolConexoes.getInstance().obterConexao();
int linha =1;
try {
for (ServicosContratados servicosC : servico) {
PreparedStatement stmtInsertItem = con
.prepareStatement(“INSERT INTO ServicosContratados ( CRG, PERIODO_I, PERIODO_F, TRECHO, TAREFA, CONTRATADO, PRODUCAO, REFERENCIA ) values (?, ?, ?, ?, ?, ?, ?, ?)”);
stmtInsertItem.setString(1, servicosC.getCRG());
stmtInsertItem.setString(2, servicosC.getPERIODO_I());
stmtInsertItem.setString(3, servicosC.getPERIODO_F());
stmtInsertItem.setString(4, servicosC.getTRECHO());
stmtInsertItem.setString(5, servicosC.getTAREFA());
stmtInsertItem.setString(6, servicosC.getCONTRATADO());
stmtInsertItem.setString(7, servicosC.getPRODUCAO());
stmtInsertItem.setString(8, servicosC.getExpr1());
stmtInsertItem.execute();
stmtInsertItem.close();
linha++;
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não foi possivel inserir a linha : " + linha +" motivo :"+ e);
} finally {
PoolConexoes.getInstance().liberarConexao(con);
}
JOptionPane.showMessageDialog(null,
"Registros de serviços contratados inserido com sucesso");
}
}[/code][/quote]
int x
x = stmtInsertItem.executeUpdate();
System.out.println("Número de linhas afetadas " + x);
Cara pelo que eu vi o stmtInsertItem.execute(); retorna true ou false, eu gostaria de saber esse retorno ja tentei comocar boolean condicao = stmtInsertItem.execute(); mas nao deu certo
O executeUpdate() não vai trazer o número de linha afetadas ou (0) se não foi feito o update, como o lucas demonstrou.
O execute() como retorno booleano deveria está funcionando, mas faz dessa maneira: