Galera o que to fazendo de errado aqui.
[code]public void altera(Contato contato) {
try {
String sql = "update TB_CONTATOS set nome=?, telefone=?,endereco=?, dataNascimento=? where nome=?";
// prepared statement para inserção
PreparedStatement stmt = (PreparedStatement) connection
.prepareStatement(sql);
// seta os valores
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getTelefone());
stmt.setString(3, contato.getEndereco());
stmt.setString(4, contato.getDataNascimento());
// executa
stmt.executeUpdate();
stmt.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}[/code]
erro exception
java.sql.SQLException: Pelo menos um parâmetro da instrução corrente não foi inicializado
Você tem 5 parâmetros no SQL e apenas 4 são passados para o PreparedStatement.
Falta o último.
pmlm
Dezembro 12, 2012, 10:22am
#3
Tens 5 pontos de interrogação no teu sql e apenas estás a fazer set de quatro parâmetros.
[code]public void altera(Contato contato) {
try {
String sql = "update TB_CONTATOS set nome=?, telefone=?,endereco=?, dataNascimento=? where nome=?";
// prepared statement para inserção
PreparedStatement stmt = (PreparedStatement) connection
.prepareStatement(sql);
// seta os valores
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getTelefone());
stmt.setString(3, contato.getEndereco());
stmt.setString(4, contato.getDataNascimento());
stmt.setString(5, contato.getNome());
// executa
stmt.executeUpdate();
stmt.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
[/code]
Tipo isso…
nossa isso nem tinha percebido…vou testar aqui!
[quote=RiQuInHo_$_$]então ficaria assim
[code]String sql = “update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?”;[code][/quote]Está na mesma ordem dos setParameters?
[quote=Hebert Coelho][quote=RiQuInHo_$_$]então ficaria assim
[code]String sql = “update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?”;[code][/quote]Está na mesma ordem dos setParameters?[/quote]
sim esta sim.
[quote=RiQuInHo_$$][quote=Hebert Coelho][quote=RiQuInHo $_$]então ficaria assim
[code]String sql = “update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?”;[code][/quote]Está na mesma ordem dos setParameters?[/quote]
sim esta sim.[/quote]E funcionou?
sim funcionou agora valeu, nossa que coisa minima…valeu!