Problema ao fazer alteração de duas Tabelas modelo mvc
Olá, estou tendo problema em alterar duas tabelas. O endereço altera, porém o cliente não, ele obtêm os dados do banco só que na hora de alterar e depois salvar ele aparece salvo só que não faz a alteração. No banco o Cliente é a principal Chave Primaria, e o Endereço com a Chave Estrangeira que depende da Cliente.
public static void atualizarCliente(Cliente cliente)
throws SQLException, Exception {
String sql = "UPDATE mydb.cliente SET nome_cliente=?, sexo_cliente=?, rg_cliente=?, cpf_cliente=?, data_nasc_cliente=?, email_cliente=?, celular_cliente=?, telefone_cliente=? + WHERE (id_cliente=?)";
String sql1 = "UPDATE mydb.end_cliente SET rua_cliente=?, numero_cliente=?, bairro_cliente=?, cidade_cliente=?, uf_cliente=?, cep_cliente=?, complemento_cliente=?"
+ "WHERE(cliente_id_cliente=?)";
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = ConnectionUtils.getConnection();
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, cliente.getId());
preparedStatement.setString(2, cliente.getNome());
preparedStatement.setString(3, cliente.getSexo());
preparedStatement.setString(4, cliente.getRg());
preparedStatement.setString(5, cliente.getCpf());
Timestamp t = new Timestamp(cliente.getDataNasc().getTime());
preparedStatement.setTimestamp(6, t);
preparedStatement.setString(7, cliente.getEmail());
preparedStatement.setString(8, cliente.getCelular());
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
preparedStatement.setString(2, cliente.getNumero());
preparedStatement.setString(3, cliente.getBairro());
preparedStatement.setString(4, cliente.getCidade());
preparedStatement.setString(5, cliente.getUf());
preparedStatement.setString(6, cliente.getCep());
preparedStatement.setString(7, cliente.getComplemento());
preparedStatement.setInt(8, cliente.getId());
preparedStatement.execute();
} finally {
if (preparedStatement != null && !preparedStatement.isClosed()) {
preparedStatement.close();
}
if (connection != null && !connection.isClosed()) {
connection.close();
}
}
}
public static void atualizarCliente(Cliente cliente)
throws SQLException, Exception {
String sql = "UPDATE mydb.cliente SET nome_cliente=?, sexo_cliente=?, rg_cliente=?, cpf_cliente=?, data_nasc_cliente=?, email_cliente=?, celular_cliente=?, telefone_cliente=? + WHERE (id_cliente=?)";
String sql1 = "UPDATE mydb.end_cliente SET rua_cliente=?, numero_cliente=?, bairro_cliente=?, cidade_cliente=?, uf_cliente=?, cep_cliente=?, complemento_cliente=?"
+ "WHERE(cliente_id_cliente=?)";
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = ConnectionUtils.getConnection();
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, cliente.getId());
preparedStatement.setString(2, cliente.getNome());
preparedStatement.setString(3, cliente.getSexo());
preparedStatement.setString(4, cliente.getRg());
preparedStatement.setString(5, cliente.getCpf());
Timestamp t = new Timestamp(cliente.getDataNasc().getTime());
preparedStatement.setTimestamp(6, t);
preparedStatement.setString(7, cliente.getEmail());
preparedStatement.setString(8, cliente.getCelular());
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
preparedStatement.setString(2, cliente.getNumero());
preparedStatement.setString(3, cliente.getBairro());
preparedStatement.setString(4, cliente.getCidade());
preparedStatement.setString(5, cliente.getUf());
preparedStatement.setString(6, cliente.getCep());
preparedStatement.setString(7, cliente.getComplemento());
preparedStatement.setInt(8, cliente.getId());
preparedStatement.execute();
} finally {
if (preparedStatement != null && !preparedStatement.isClosed()) {
preparedStatement.close();
}
if (connection != null && !connection.isClosed()) {
connection.close();
}
}
}
Jussara Andrade
Curtidas 0
Melhor post
Carlos Augusto
31/07/2018
Faltou o comando preparedStatement.execute(); Para executar.
Como você esta usando o mesmo objeto, você está sobre escrevendo as instruções SQL e não está de fato salvando nada.
Neste trecho:
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
Trocar para:
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement.execute();
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
Como você esta usando o mesmo objeto, você está sobre escrevendo as instruções SQL e não está de fato salvando nada.
Neste trecho:
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
Trocar para:
preparedStatement.setString(9, cliente.getTelefone());
preparedStatement.execute();
preparedStatement = connection.prepareStatement(sql1);
preparedStatement.setString(1, cliente.getRua());
GOSTEI 1
Mais Respostas
Jussara Andrade
25/07/2018
Guto, obrigado vou dar verificada nesse detalhe.
GOSTEI 0