[RESOLVIDO] Delete Mysql

9 respostas
H

Oi turma me ajudem, no que percebi o erro é no código sql conforme mensagem do eclipse.
Mensagem de erro Eclipse: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘pessoa=1’ at line 1

try {
			//Abrir a Conexao
			Connection conn = ConnectionFactory.getConnection();
						
			PessoaDAO daoPessoa = new PessoaDAOImpl(conn);
			
			
			daoPessoa.delete(new Long(5));		
			System.out.println("Apagado com Sucesso!!!.");			
			//Sempre Fechar a Conexão.
			conn.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
public void delete(Long id) throws Exception {
		PreparedStatement ps = null;
		StringBuffer sql = new StringBuffer();
		sql.append ("delete from pessoa where id pessoa=?");
		ps = conn.prepareStatement(sql.toString());
		ps.setLong(1,id);
		ps.execute();
		ps.close();
       //delete

	}

9 Respostas

drsmachado

1 - Cara, não é é [code]
2 - Que erro?

daveiga

Bem, você esse ‘id’ e ‘pessoa’ separado não pode ser assim, por espaço.
O nome do campo é ‘id’? então basta um

... WHERE id = ?  // ou id_pessoa, ou pessoa depende do nome da sua coluna

Quais as colunas da sua Tabela?
Posta ai que a gente corrige o SQL pra você :smiley:

D

Tente assim:

sql.append ("delete from pessoa where pessoa.id=?");

ou

sql.append ("delete from pessoa where id=?");
H

Ambos os comandos apresentaram erro.

sql.append (“delete from pessoa where id=?”);
Unknown column ‘id’ in ‘where clause’

sql.append (“delete from pessoa where pessoa.id=?”);
Unknown column ‘pessoa.id’ in ‘where clause’

drsmachado

Helber:
Ambos os comandos apresentaram erro.

sql.append (“delete from pessoa where id=?”);
Unknown column ‘id’ in ‘where clause’

sql.append (“delete from pessoa where pessoa.id=?”);
Unknown column ‘pessoa.id’ in ‘where clause’

Camarada, quem está criando os bancos de dados?
Se é você mesmo, quais são as colunas de pessoa???

H

são essas as colunas

nome, rg, cpf, dtnascimento

drsmachado

Então.
Qual a chave primária?
Ou você altera a tabela e cria o ID ou elege outra coluna como primária e então altera a query.

Master.Abs

Helber:
são essas as colunas

nome, rg, cpf, dtnascimento

Se você quer deletar pelo ID tem que ter ao menos a coluna ID correto?
Crie essa coluna e deixe ela como Pk (Primary Key) NOT NULL criando a coluna
ID aiiiii sim vc deleta pelo ID.

H

Pessoal obrigado pela ajuda, o problema era no banco de dados como o colega falou eu deveria ter definido uma chave primaria para que o delete id tivesse efeito. abraço turma.

sql.append (“delete from cadastro where id=?”);

Criado 28 de junho de 2011
Ultima resposta 28 de jun. de 2011
Respostas 9
Participantes 5