Duvida update [Resolvido]

8 respostas
RiQuInHo_

Galera o que to fazendo de errado aqui.

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);
			
		}
	}

erro exception

java.sql.SQLException: Pelo menos um parâmetro da instrução corrente não foi inicializado

8 Respostas

drsmachado

Você tem 5 parâmetros no SQL e apenas 4 são passados para o PreparedStatement.
Falta o último.

pmlm

Tens 5 pontos de interrogação no teu sql e apenas estás a fazer set de quatro parâmetros.

onjacktallcuca
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);  
              
        }  
    }

Tipo isso...

RiQuInHo_

nossa isso nem tinha percebido…vou testar aqui!

Hebert_Coelho
RiQuInHo_$_$:
então ficaria assim

[code]String sql = "update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?";[code]

Está na mesma ordem dos setParameters?

RiQuInHo_
Hebert Coelho:
RiQuInHo_$_$:
então ficaria assim

[code]String sql = "update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?";[code]

Está na mesma ordem dos setParameters?

sim esta sim.

Hebert_Coelho
RiQuInHo_$_$:
Hebert Coelho:
RiQuInHo_$_$:
então ficaria assim

[code]String sql = "update TB_CONTATOS set telefone=?,endereco=?, dataNascimento=? where nome=?";[code]

Está na mesma ordem dos setParameters?

sim esta sim.

E funcionou?

RiQuInHo_

sim funcionou agora valeu, nossa que coisa minima…valeu!

Criado 12 de dezembro de 2012
Ultima resposta 12 de dez. de 2012
Respostas 8
Participantes 5