Ir para conteúdo

Arquivado

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

lucasmoraes

[Resolvido] erro com delet no asp e mysql

Recommended Posts

ajudem por favor

estou usando ASP com BD MYSQL tenho uma pag que adiciona noticias a um bd mysql e esta funcionando corretamente agora eu criei um link que deleta a noticia caso necessario mas este nao esta funcionando

 

o link que eu uso para excluir é

<a href="edit_noticias.asp?str=excluir&idnoticia=<%=rs("idnoticia")%>" style="cursor:pointer;"><img src="images/down.gif" title="Deletar" /></a>

 

ocorre o seguinte erro

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-community-nt]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 '* from noticias where idnoticia = 10' at line 1

 

/ccdaribeiraopreto/adm/edit_noticias.asp, line 89

 

 

nessa linha esta o execute do DElete vou postar o cod delete todo

<%
if Request.QueryString("str") = "excluir" then

sqldel = "delete * from noticias where idnoticia = " & Request.QueryString("idnoticia")
conn.Execute(sqldel)

	Response.Redirect("edit_noticias.asp")

end if
%>

 

o link esta recebendo corretamento o id da noticia mas nao funciona ocorre o erro que mostrei a cima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que seja nesta linha o erro

 

sqldel = "delete * from noticias where idnoticia = " & Request.QueryString("idnoticia")

 

você tem que fazer isso

 

sqldel = "delete * from noticias where idnoticia ='" & Request.QueryString("idnoticia")&"'"

 

e me parece que você nao setou o Conn

 

mais nesse trecho só isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que seja nesta linha o erro

 

sqldel = "delete * from noticias where idnoticia = " & Request.QueryString("idnoticia")

 

você tem que fazer isso

 

sqldel = "delete * from noticias where idnoticia ='" & Request.QueryString("idnoticia")&"'"

 

e me parece que você nao setou o Conn

 

mais nesse trecho só isso

 

eu setei o conn sim fica em um include

e eu estou recebendo os numeros de id que vem do banco de dados corretamente

eu tentei da forma como você descreveu acima mas nao funcionou tbm nao, deu a mesma coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendo nada de ASP, mas acredito que o erro esteja no "*"

 

Veja:

 

// o DELETE do MySQL não possui o *
sqldel = "delete * from noticias where idnoticia = " & Request.QueryString("idnoticia")

// aqui o correto
sqldel = "delete from noticias where idnoticia = " & Request.QueryString("idnoticia")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendo nada de ASP, mas acredito que o erro esteja no "*"

 

Veja:

 

// o DELETE do MySQL não possui o *
sqldel = "delete * from noticias where idnoticia = " & Request.QueryString("idnoticia")

// aqui o correto
sqldel = "delete from noticias where idnoticia = " & Request.QueryString("idnoticia")

 

Cara éra isso mesmo vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

to um pouco na mesma situação, ele passa a var bem mas no delete diz Path not found

 

a string é

Set rs = conn.Execute("DELETE FROM users WHERE id = "& request.queryString("id") &";")

 

alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilizei a tua sujestao assim

 

Set rs = conn.Execute("Delete users.* from users where id = "& request.queryString("id") &";")

 

mas continuo na mesma

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas para título de complemento, este erro na maioria das vezes quer dizer ,que pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada.Verifique a ortografia

 

SQL DELETE Sintaxe

 

DELETE FROM table_name
WHERE some_column=some_value

 

Observe a cláusula WHERE na sintaxe DELETE. A cláusula WHERE especifica qual registro ou registros que deveriam ser suprimidas. Se você omitir a cláusula WHERE, todos os registros serão apagados!

 

eu sempre uso assim:

 

' recupero a variavel
varcodigo=Trim(request.form(“codigo”))
' onde varcodigo recebe com um trim o request de codigo, no seu caso você esta usando querystring
SQLdel=”DELETE FROM login WHERE codigo=”&varcodigo&”"
rsdel.open SQLdel,conexao,1,3 

Compartilhar este post


Link para o post
Compartilhar em outros sites

os nomes estao correctos.

 

reparei no teu exemplo que abres a conexao

 

rsdel.open SQLdel,conexao,1,3

 

eu tenho o include de conexcao assim

 

Dim conn        
set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "Driver={MYSQL ODBC 5.1 DRIVER};Server=localhost;Port=3306;Database=2012;Uid=root;Pwd=1234;"
conn.Open()

 

e depois apenas faço o sql

 

sera que me faltao os locktypes??

como os ponho nesta situação?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja resolvi o delete.

 

Afinal nao era do delete mas sim de uma funcao que eu chamava antes.

 

agora nao consigo fazer o insert, dame sempre este erro embora eu ja tenha verificado e os nomes correspondem aos campos da bd

 

[MySQL][ODBC 5.1 Driver][mysqld-5.5.23]Unknown column 'e013030b6d6c84e8b33b5ab9d908733a' in 'field list'

 

ja reiniciei o server e mudei a ordem das colunas mas mesmo assim continua.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eu percebi isso mas como é possivel eu ja verifiquei os nomes e estao correctos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o que esta sendo passado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da porque ele da o erro no sql logo nao deixa passar para a linha de baixo onde tenho o response.write

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.