Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jussaramachado

deletar um registro

Recommended Posts

Eu acho que sou muito burra! Não consigo encontrar o erro.Estou tentando deletar um registro de uma tabela do Acess. Eu sei que o erro esta na instrução de exclusão. Será que alguém pode me ajudar? Eu agradeço imensamente.<%.....set rsbanco = server.createobject("ADODB.Recordset")rsbanco.open "Select * from Email1",con,AdOpenKeyset,AdLockOptimisticexclui = trim(request("exclui"))if exclui = "" thenresponse.write "Você não entrou com valor para exclusão!"elsersbanco.movefirstendereco= trim(rsbanco("endereco"))while((endereco<>exclui) and (not rsbanco.eof))rsbanco.movenextif(not rsbanco.eof) then endereco = trim(rsbanco("endereco"))wendif endereco = exclui thenexclusao ="DELETE * from email1 WHERE endereco="& exclui set excluir = con.execute(exclusao)Response.write "Registro excluido com sucesso!!!"elseresponse.write "Registro não encontrado !"End ifEnd ifset exclusao = nothingset con = nothingset rsbanco = nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema está akiexclusao ="DELETE * from email1 WHERE endereco="& exclui tira o * pq na sintaxe do delete o * não é necessário (em Oracle ao menos não...), :ph34r: té+(editei a resposta)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente essim:

exclui = trim(request("exclui"))
if exclui = "" then
response.write "Você não entrou com valor para exclusão!"
else
SQL = "Select * from Email1 Where Endereco = '"& exclui &"';"
set rsbanco = server.createobject("ADODB.Recordset")
rsbanco.open SQL,con,AdOpenKeyset,AdLockOptimistic

If Not rsBanco.EOF or rsBanco.BOF Then
 Set exclusao = "DELETE from email1 WHERE endereco = '"& exclui &"';",con
Else
 Response.Write "Nada encontrado"
End If
END If

Em caso de algum erro Poste aqui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já tentei todas as dicas. Continua não funcionando dá o mesmo erro da linha 33.Já olhei as outras páginas, o servidor, tudo parece que empacou. Muito obrigada a todos voces! E se voces tiverem alguma ideia por favor me digam!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando ele diz missing operator, quer nos informar que alguma variavel que estamos passando está sendo nomeada de forma incorreta.Possiveis soluções para este problemaexclusao ="DELETE * from email1 WHERE endereco=' "& exclui &" ' "exclusao ="DELETE from email1 WHERE endereco=´"& exclui &"´ "Se der errado, faça o seguinte, antes da linha seguinte (con.execute) coloque response.write exclusao. Isto vai imprimir esta linha com a instrução SQL, e ai podemos ver o que ele vai tentar executar, pode ser que a variavel exclui esteja vazia ou a variavel esteja com seu conteudo incompleto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu imprimi a exclusao SQL (ficou assim)Delete * from Email1 where endereco=1040@uol.com.br O exclui esta certo! não dá pra entender

como nosso amigo bins citouexclusao ="DELETE * from email1 WHERE endereco=' "& exclui &" ' "

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código que o Salgado passou, chamou a pagina, apareceu a confirmacao de que o registro foi excluido mas, o registro continua lá. o que mais pode ser. Eu já usei esse codigos para exclusão e sempre funcionou. Só que eu sempre usei para excluir pelo id. Só que a tabela que eus estou tentando excluir tem muitos registros e não dá pra procurar pelo id. Eu preciso procurar direto pelo endereco. Eu coloco o endereco em uma página. e na outra ele procura e deleta. Parece tão simples mas, não consigo mesmo. Será que alguém tem uma outra idéia. Eu já procurei em livros e com várias pessoas. mas, sempre dá o mesmo erro e quando funciona o registro não é excluido do BD.Obrigada a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte: essa tabela tem campo ID autoIncrementado?

Caso positivo:

exclui = trim(request("exclui"))

if exclui = "" then

response.write "Você não entrou com valor para exclusão!"

else

SQL = "Select ID from Email1 Where Endereco = '"& exclui &"';"

set rsbanco = server.createobject("ADODB.Recordset")

rsbanco.open SQL,con,AdOpenKeyset,AdLockOptimistic

 

While Not rsBanco.EOF

  ID=ID &","& rsBanco("ID")

Wend

 

rsBanco.close

Set rsBanco=Nothing

 

If ID<>"" Then

  Set exclusao = "DELETE from email1 WHERE ID in '"& ID &"';",con

Else

  Response.Write "Nada encontrado"

End If

END If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que a resposta deve ser como o colega Salgado sugere, utilize um campo diferente para fazer a exclusão, talvez o campo endereço tenha espaços a mais, e ele não reconhece corretamente o critério

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi! Agora parece que eu consegui fazer o troço funcionar! Muito obrigado a todos voces. Fui tentando com todas as dicas. Só funcionou quando eu coloquei assim:<%set rsbanco = server.createobject("ADODB.Recordset")rsbanco.open "Select * from Email1",con,AdOpenKeyset,AdLockOptimisticexclui = trim(request("exclui"))if exclui = "" thenresponse.write "Você não entrou com valor para exclusão!"elsersbanco.movefirstId= rsbanco("id")while((id<>int(exclui)) and (not rsbanco.eof))rsbanco.movenextif(not rsbanco.eof) then id = rsbanco("id")wendif id = int(exclui) thenexclusao = "Delete from Email1 where id=" & int(exclui)set excluir = con.execute(exclusao)Response.write "Registro excluido com sucesso!!!"elseresponse.write "Registro não encontrado !"End ifEnd ifset exclusao = nothingset con = nothingset rsbanco = nothing%>Eu fui na pagina de postagem e mudei o código. Ficou assim:<%email=request.form("email")Set rsbanco1 = Server.CreateObject("ADODB.Recordset")rsbanco1.Open "SELECT * from email1 where endereco like '%" & Request.Form("email") & "%' order by id desc", con,3,3%> Obrigada pela ajuda de vocês! Espero que logo eu também possa estar ajudando a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.