Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas_Dragon

[Resolvido] Problemas para excluir registro

Recommended Posts

Galera tenho o seguinte código abaixo para excluir um registro de um banco de dados...

 

Mau banco tem várias colunas - ID | NOME | DATA | PROJETO | STATUS - a pagina anterior a essa lista todos os registro e coloquei um comando nela na frente de cada registro <a href="exclui_tarefa.asp?id=<%=rsBusca("id")%>EXCLUIR REGISTRO</a> para passar o ID do registro a ser excluido

 

quando chamo a página excluir_tarefa.asp que contem o código abaixo, o código apaga todos os registros da minha tabela e não só o que eu queria...

<%

Set conObj = Server.CreateObject("ADODB.Connection")
conObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("banco/banco.mdb") & ";"

id = Request.QueryString("id")

sql = "DELETE FROM tarefas WHERE'" & id 
conObj.Execute(sql)
conObj.Close
Set conObj = nothing



Response.Redirect("principal.asp")
%>

 

OBS: na linha sql = "DELETE FROM tarefas WHERE'" & id se eu colocar assim: sql = "DELETE FROM tarefas WHERE id='" & id o browse me retorna o erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

 

 

 

Alguem poderia me ajudar?

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tipo do campo ID no bd, sendo ele numero, use assim:

 

DELETE FROM tarefas WHERE codigo="&varcodigo&""

 

e no sql na clausula WHERE você deve especificar o campo, pois você esta deixando apenas

WHERE'" & id

 

uma dica, por exemplo, a pagina anterior a essa lista todos os registro com um comando nela na frente de cada registro <a href="exclui_tarefa.asp?id=<%=rsBusca("id")%>EXCLUIR REGISTRO</a> para passar o ID do registro a ser excluido

você pode ainda, antes de mandar excluir exibir os dados que serao excluidos e depois , executar o DELETE, entendeu, assim o user ve antes os dados que serao excluidos

Compartilhar este post


Link para o post
Compartilhar em outros sites

so uma dica a mais

se essa for uma opcao do usuario, nao do administrador, seria interessante você nao exluir de imediato

isso evita aqueles usuarios que futucam sem saber, apagam errado e a culpa é da adm :)

 

se for parte administrativa desconsidere

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz tipo um sistema de nivel de acesso, para usuarios nao permitidos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tipo do campo ID no bd, sendo ele numero, use assim:

 

DELETE FROM tarefas WHERE codigo="&varcodigo&""

 

e no sql na clausula WHERE você deve especificar o campo, pois você esta deixando apenas

WHERE'" & id

 

uma dica, por exemplo, a pagina anterior a essa lista todos os registro com um comando nela na frente de cada registro <a href="exclui_tarefa.asp?id=<%=rsBusca("id")%>EXCLUIR REGISTRO</a> para passar o ID do registro a ser excluido

você pode ainda, antes de mandar excluir exibir os dados que serao excluidos e depois , executar o DELETE, entendeu, assim o user ve antes os dados que serao excluidos

Xanburzum, fiz a alteração que você indicou... passou da linha e retornou o erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe na seqüência de caracteres na expressão de consulta 'id= 25''.

 

Devo declarar todos os campos? a serem excluidos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia,veja se nao tem um nome de coluna Invalida. A coluna a qual você se refere na Base de Dados não foi encontrada.

 

nao use essa instrucao

 

DELETE FROM tarefas WHERE codigo="&varcodigo&""

 

esta é um exemplo, mude para sua tabela e seu campo

 

DELETE FROM tarefas WHERE id = "&varid&""

 

onde varid é o seu rsBusca("id"), recuperado pela

<a href="exclui_tarefa.asp?id=<%=rsBusca("id")%>EXCLUIR REGISTRO</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia,veja se nao tem um nome de coluna Invalida. A coluna a qual você se refere na Base de Dados não foi encontrada.

 

nao use essa instrucao

 

DELETE FROM tarefas WHERE codigo="&varcodigo&""

 

esta é um exemplo, mude para sua tabela e seu campo

 

DELETE FROM tarefas WHERE id = "&varid&""

 

onde varid é o seu rsBusca("id"), recuperado pela

<a href="exclui_tarefa.asp?id=<%=rsBusca("id")%>EXCLUIR REGISTRO</a>

Esse é o código que esta na minha página exclui_tarefa.asp

 

id está recebendo o valor 25 que é o id da linha que eu quero excluir do banco. O valor está sendo passado certo, pois ja mandei escrever na tela para verificar se poderia ser isso.

 

observe no código

<%
Set conObj = Server.CreateObject("ADODB.Connection")
conObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("banco/banco.mdb") & ";"

id = Request.QueryString("id")

sql = "DELETE FROM teste WHERE id= "& id &""
conObj.Execute(sql)
conObj.Close
Set conObj = nothing
%>

Fiz a alteração verifiquei a ortografia... mas mesmo assim continua o erro

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe na seqüência de caracteres na expressão de consulta 'id= 25''.

 

Desculpe o incomodo, mas é que estou realmente com problemas para excluir essa linha...

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara consegui... verifiquei tudo novamente no código... refiz a parte dele que passa o valor para página q exclui e refiz o código da página que exclui... e dei permisão no banco pois eu tinha esquecido desse detalhe... rs http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif :P

 

Ai ficou beleza... consegui acertar o esqueminha dos registros... Obrigado pela força...

 

Até!!

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.