Segue uma dica de como fazer isso que você iniciou da forma “politicamente correta”, pelo menos bem perto disso porque existe outras formas de se fazer isso, a melhor coisa é você já começar pelo jeito “certo”.
[code] public boolean atualizarPessoa(String nome, String endereco, String numero, String complemento, String bairro, String cidade, String estado, String cpf) throws SQLException {
/*
* Pegue o hábito de usar as variávies no padrão java:
* - nome de variável (atributo) sempre inicia com minúscula, ex: valorLiquido, dataEmissao, nomeContador
/
String sql = “”
+ “UPDATE "
+ " pessoas "
+ “SET "
+ " nome=?,”
+ " endereco=?,”
+ " numero=?,"
+ " complemento=?,"
+ " bairro=?,"
+ " cidade=?,"
+ " estado=? "
+ “WHERE "
+ " cpf=?”; // CPF é um número único, portanto só precisa dele aqui
/
* No UPDATE você nao pode atualizar uma chave, o CPF nesse caso é a chave,
*
* Pegue o hábito de usar um PreparedStatement que fica mais ‘elegante’ e melhor
* para dar manutenção.
*/
PreparedStatement ps = conn.prepareStatement(sql);
int index = 0;
ps.setObject(++index, nome);
ps.setObject(++index, endereco);
ps.setObject(++index, numero);
ps.setObject(++index, complemento);
ps.setObject(++index, bairro);
ps.setObject(++index, cidade);
ps.setObject(++index, estado);
ps.setObject(++index, cpf); // chave, usado no WHERE
int linhasAlteradas = ps.executeUpdate();
System.out.println("Linhas alteradas na tabela: " + linhasAlteradas);
/*
* Não dispare as Exceções dentro desse tipo de método, pegue o hábito de
* passar a Exception para a camada superior (a interface do usuário).
* Veja na declaração do método isso: throws SQLException {...
*/
return true;
}[/code]
Na verdade a melhor forma de fazer isso era você passar um objeto do tipo Pessoa para o método e dentro do método pegar os valores das propriedades do objeto, algo assim:
public boolean atualizarPessoa(Pessoa pessoa) throws SQLException {
String sql = ""
+ "UPDATE "
+ " pessoas "
+ "SET "
+ " nome=?,"
+ " endereco=?,"
+ " numero=?,"
+ " complemento=?,"
+ " bairro=?,"
+ " cidade=?,"
+ " estado=? "
+ "WHERE "
+ " cpf=?"; // CPF é um número único, portanto só precisa dele aqui
PreparedStatement ps = conn.prepareStatement(sql);
int index = 0;
ps.setObject(++index, pessoa.getNome());
ps.setObject(++index, pessoa.getEndereco());
ps.setObject(++index, pessoa.getNumero());
ps.setObject(++index, pessoa.getCompelemento());
ps.setObject(++index, pessoa.getBairro());
ps.setObject(++index, pessoa.getCidade);
ps.setObject(++index, pessoa.getEstado());
ps.setObject(++index, pessoa.getCpf()); // chave, usado no WHERE
int linhasAlteradas = ps.executeUpdate();
System.out.println("Linhas alteradas na tabela: " + linhasAlteradas);
return true;
}
Espero ter esclarecido alguma coisa.