Ir para conteúdo

POWERED BY:

Arquivado

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

dimarcinho

Erro sinistro (ASP + SQL)

Recommended Posts

dae galera to fazendo uma parada pra administrar um guestbook

eu crio uma page com as msgs q existem e ao lado de cada uma delas ficam checkboxs com os ids dos da tabela

dae, eu eu seleciono esses ids e jogo pruma page q apagarah os IDs da tabela

 

tipo, jah sei q os ID's estao corretos (fiz testes usando o response.write)

o problema acho q tah no SQL

o codigo eh exatamente esse

 

<%db=Server.MapPath("../guest/guest.mdb")Set con = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset")con.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & db & ";"For each item in Request.Form("checkbox")x = Cint(item) 'colokei essa linha por causa do erro q aparece, mas o erro continua o mesmo... jah tentei com Clng() tb e Cstr()'response.Write(""&x&"") fazendo o teste, aki, aparece certin o ID q seria apagadosql = "DELETE * FROM guest WHERE id='"&x&"'"set rs = con.execute(sql)Nextcon.CloseSet rs = nothingSet con = nothingresponse.Redirect("adguest.asp")%>

o erro eh o seguinte:

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e07'

 

[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério.

 

/dimarcinho/admin/del_guest.asp, line 15

 

a linha 15 eh:

set rs = con.execute(sql)

 

o banco de dados, como vcs viram, eh Access

o Tipo de dados do ID eh Inteiro Longo/Autonumera'cao

 

bom sinceramente, naum tenho a minima ideia de onde esteja o erro

espero q me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

 

<%db=Server.MapPath("../guest/guest.mdb")Set con = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset")con.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & db & ";"For each item in Request.Form("checkbox")x = Cint(item) 'colokei essa linha por causa do erro q aparece, mas o erro continua o mesmo... jah tentei com Clng() tb e Cstr()'response.Write(""&x&"") fazendo o teste, aki, aparece certin o ID q seria apagadosql = "DELETE * FROM guest WHERE id="&x&""set rs = con.execute(sql)Nextcon.CloseSet rs = nothingSet con = nothingresponse.Redirect("adguest.asp")%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh, logo depois de postar aki, me deu uma luz e fiz issosoh tirar as aspas simplesmas estranho, pq em nenhuma outra situacao eu precisei fazer issoe olha q mexo com um monte de BD'safinal, qdo devo usar a aspa simples intao ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em strings, com campos numéricos não se usa '.

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.