bom tenho o seguinte codigo
pega os dados dos componente i colocam na variavel Livro l
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
Livro l = new Livro();
String titulo = textTitulo.getText();
l.setIsbn(textISBN.getText());
l.setTitulo(textTitulo.getText());
l.setAutor(textAutor.getText());
l.setEditora(textEditora.getText());
l.setCidadePublicacao(textCidadePublic.getText());
l.setAnoPublicacao(textAnoPublic.getText());
l.setQuantidadeEstoque(Integer.parseInt(textQuantLivro.getText()));
LivroDAO lDAO = new LivroDAO();
if (lDAO.alterar(l, titulo)) {
JOptionPane.showMessageDialog(this, "Livro Cadastrado com Sucesso!");
} else {
JOptionPane.showMessageDialog(this, "um erro ocorreu!");
}
}
esse eh u metodo q eh chamado para alterar o dado no Banco:
public boolean alterar(Livro l, String titulo){
String sql = String.format("UPDATE Livro set Isbn = '" + l.getIsbn() + "'," + "titulo = '" + l.getTitulo() + "'," +
"Autor = '" + l.getAutor() + "'," + "Editora = '" + l.getEditora() + "'," +
"cid_pub = '" + l.getCidadePublicacao() + "'," +
"ano_pub = '" + l.getAnoPublicacao() + "'," +"quant_livro = '" + l.getQuantidadeEstoque() + "'" +
"where titulo = '" + titulo + "'");
System.out.println(l.getTitulo());
try {
Connection con = ConnectDB.createConnection();
Statement stmt = con.createStatement();
int registro = stmt.executeUpdate(sql);
if (registro != 0) JOptionPane.showMessageDialog(null,"Dados Alterados!");
else JOptionPane.showMessageDialog(null,"Dados Não Alterados!");
stmt.close();
con.close();
return true;
}catch(SQLException sqlEx) {
System.out.println(sqlEx);
return false;
}catch(Exception ex) {
return false;
}
}
o problema eh que com estes codigos acima eu consigo alterar todos os campo com exceçao do campo "titulo"
si eu colocar pra alterar o titulo ele cai aki
else JOptionPane.showMessageDialog(null,"Dados Não Alterados!");
estou parado ai faz um tempim =P
alguem pode mi ajudar?
vlw