Duvida execute do banco

Boa tarde galera,

Gostaria de tirar uma duvida com vocês esqueci como que eu faço pra confirmar se o execute foi true ou false eu tentei

if(stmtInsertItem.execute()){ condicao = true; }

mas nao deu certo eu esqueci msm se alguem puder me ajudar

E ai blz, geralmente quando eu vou executar um comando no banco eu uso executeUpdate(), porque você não usa esse? Ele retorna as linhas afetadas…

Abraços…

Você quer saber se retornou resultados, é isso?
Um artigo bom para você ler: http://guj.com.br/article.show.logic?id=7

Abraços.

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

Tenta assim…

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

Vc tentou da forma que te falei acima?

aquilo nao me atende eu preciso fazer um teste pra se foi boolean ou nao o que vc me falou vai falar as linhas

Cara se retornar as linhas quer dizer que o registro foi atualizado sacou…

faz assim

if (x >=1){
System.out.println("Verdeiro");
}
else { 
System.out.println("Falso");
}

Bem se não for isso acho que eu não entendi o que vc quer…

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:

	boolean blUpdate = true;

	try {
		stmtInsertItem.execute()
	} catch (SQLException ex) {
		blUpdate = false;
	}

simples.