shenn
Junho 7, 2011, 7:49am
#1
não estou conseguindo excluir o registro do banco de dados, fiz pelo modelo dao
olha o meu dao:
public int delete(String nome) throws SQLException {
Statement statement = conexao.createStatement();
String insertComand = "DELETE FROM cadastro WHERE nome = " + nome;
int linhasAfetadas = statement.executeUpdate(insertComand);
statement.close();
conexao.close();
return linhasAfetadas;
}
public int delete(String nome) throws SQLException {
Statement statement = conexao.createStatement();
String insertComand = "DELETE FROM cadastro WHERE nome = " + nome;
int linhasAfetadas = statement.executeUpdate(insertComand);
statement.close();
conexao.close();
return linhasAfetadas;
}
olha a minha servlet[code]
try {
Connection conexao = null;
Statement statement = conexao.createStatement();
String sql = "DELETE FROM cadastro WHERE nome = 'nome'";
int deleteCount = statement.executeUpdate(sql);
sql = "DELETE FROM cadastro WHERE nome = nome";
Connection connection = null;
PreparedStatement pstmt = connection.prepareStatement(sql);
deleteCount = pstmt.executeUpdate();
} catch (Exception e) {
System.out.println("erro2");
}
try {
Connection conexao = null;
Statement statement = conexao.createStatement();
String sql = "DELETE FROM cadastro WHERE nome = 'nome'";
int deleteCount = statement.executeUpdate(sql);
sql = "DELETE FROM cadastro WHERE nome = nome";
Connection connection = null;
PreparedStatement pstmt = connection.prepareStatement(sql);
deleteCount = pstmt.executeUpdate();
} catch (Exception e) {
System.out.println("erro2");
}
[/code]
o campo nome é uma chave primaria…
Verifica se o nome que você quer deletar bate com o banco.
Uma boa ideia é fazer debug também,
Você pode, por exemplo, pegar a query e executar diretamente no banco para ver o que acontece.
shenn
Junho 7, 2011, 8:07am
#3
sim os nomes estão certos da coluna, só pra saber se eu fiz certo, como eu chamo o botão excluir?
fiz isso [code]
[/code] quando apertar ele vai pra servlet Excluir ai executa o
[code]try {
Connection conexao = null;
Statement statement = conexao.createStatement();
String sql = "DELETE FROM cadastro WHERE nome = 'nome'";
int deleteCount = statement.executeUpdate(sql);
sql = "DELETE FROM cadastro WHERE nome = nome";
PreparedStatement pstmt = conexao.prepareStatement(sql);
System.out.println("excluido");
deleteCount = pstmt.executeUpdate();
} catch (Exception e) {
System.out.println("erro não excluido 2");
}[/code]
ao invés de ‘=’ na condição tenta usar o like
shenn
Junho 7, 2011, 8:10am
#5
agora apareceu
java.lang.NullPointerException
alguem sabe oq é isso?
referencia para um objeto com valor nulo, dai qdo tenta chamar um metodo da erro, exemplo:
String teste = null;
teste.isEmpty(); // NullPointerException
abrxx
shenn
Junho 7, 2011, 8:14am
#7
como eu dou a referencia a um botão? (não sei se é uma pergunta besta mas)
[quote=shenn]agora apareceu
java.lang.NullPointerException
alguem sabe oq é isso?[/quote]
Quer dizer que você tentou acessar algum objeto que não foi instanciado.
shenn
Junho 7, 2011, 8:18am
#9
porem este objeto é um botão
Cara ou seu erro provavelmente está nas linhas comentadas:
try {
Connection conexao = null; //Conexão está sendo referenciado a nulo.
Statement statement = conexao.createStatement(); //Faz uma chamada a um método com o objeto conexão nulo.
String sql = "DELETE FROM cadastro WHERE nome = 'nome'";
int deleteCount = statement.executeUpdate(sql);
sql = "DELETE FROM cadastro WHERE nome = nome";
PreparedStatement pstmt = conexao.prepareStatement(sql);
System.out.println("excluido");
deleteCount = pstmt.executeUpdate();
} catch (Exception e) {
System.out.println("erro não excluido 2");
}
shenn:
como resolveria isso?
De uma estudada sobre JDBC, segue um link para exemplo:
http://www.guj.com.br/articles/7
exmeplo facil
[code]public boolean delete(String cod){
try {
con = DAOConexao.getConn();
//String sql = " DELETE FROM tb_Cadastro where codigo = %s ";
String sql = "DELETE FROM tb_Clientes where CodigoImprCliente = '" + cod + "'";
pstm = con.prepareStatement(sql);
pstm.executeUpdate();
}catch(Exception e){
System.out.println(e.toString());
}finally{
try{
//pstm.close();
//con.close();
}
catch(Exception e){
}
}
return true;
}
}[/code]