Rapeize, preciso fazer uma alteração qualquer (num cadastro de clientes) em minhas tabelas e não sei se minha classe DAO está correta no que diz respeito a update.
private void _mountQueries() {
QUERY_INSERT = "insert into " + tabName
+ " (datacadastro, codigo, nome, endereco, complemento, telefone, cep, bairro, cidade, estado, rg, cpf) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
QUERY_UPDATE = "update " + tabName + " set datacadastro=?, nome=?, endereco=?, complemento=?, telefone=?, cep=?, bairro=?, cidade=?, estado=?, rg=?, cpf=? where codigo=?";
QUERY_EXCLUI = "delete from " + tabName + " where codigo=?";
QUERY_SELECT_BY_EXAMPLE = "select * from " + tabName
+ " where codigo=?";
QUERY_SELECT_ONE_BY_ID = "select * from " + tabName + " where codigo=?";
QUERY_SELECT_ALL = "select * from " + tabName + " order by codigo ";
QUERY_SELECT_MAX_ID = "select max(id) as maxid from " + tabName;
}
Minha classe para atualização esta assim :
public boolean updatePersistent(Cliente f) throws DAOException {
try {
getPreparedStatement(QUERY_UPDATE);
ps.setString(1, f.getDataCadastro());
ps.setString(2, f.getCodigo());
ps.setString(3, f.getNome());
ps.setString(4, f.getEndereco());
ps.setString(5, f.getComplemento());
ps.setString(6, f.getTelefone());
ps.setString(6, f.getCep());
ps.setString(7, f.getBairro());
ps.setString(8, f.getCidade());
ps.setString(9, f.getEstado());
ps.setString(10, f.getRg());
ps.setString(11, f.getCpf());
int ok = ps.executeUpdate();
closePreparedStatement();
if (ok == 0) {
return false;
} else {
return true;
}
} catch (SQLException ex) {
throw new DAOException("SQL exception in updatePersistent" + f, ex);
}
}
Só que qdo atualizo algum dado no programa e clico em salvar, me aparece o seguinte:
SQL exception in updatePersistentmodelo.Cliente@18385e3
at modelo.ClienteDAO.updatePersistent(ClienteDAO.java:106)
at modelo.ModelCliente.alteraAluno(ModelCliente.java:64)
at controle.ControleClientes.actionPerformed(ControleClientes.java:79)
Acredito que seja a forma como foi escrito a query update, alguém aí sabe como resolver isso ??? :?
