Hej!
Har kört fast igen. :(
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\kursbok\db\kurslitt.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic
a = Cint(Request.QueryString("idnummer"))
SQL="DELETE * FROM annonser WHERE id=a"
Databas.Execute(SQL)
RecSet.Close
Databas.Close
%>
Felmed:
Programmet använder felaktiga parametrar, som antingen ligger utanför tillåtet intervall, eller som skapar en inbördes konflikt.
Har även testat med Trim istället för Cint. "idnummer" syns uppe i url-fönstret.
SQL="DELETE * FROM annonser WHERE id=" & a & ""
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\kursbok\db\kurslitt.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic
a = Request.QueryString("idnummer")
SQL="DELETE FROM annonser WHERE id = " & a
Databas.Execute(SQL)
RecSet.Close
Databas.Close
%>
kristoffer skrev:
SQL="DELETE * FROM annonser WHERE id=" & a & ""
* får ej förekomma i en delete, den raderar ju alla kolumner hur som helst. ;)
Ja, jag kollade inte så noga. Det var ju parametern jag tänkte på. Men ja, du har rätt.
Och jag som trodde alla sov. ;-) webforum är fantastiskt. :)
Båda era lösninagr gav samma fel som innan. :( Men jag kom på att jag inte hade någon nytta av RecSet så jag tog bort de tre raderna som berör RecSet, så nu fungerar det. Tack ändå.
Såhär blev det:
<% Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\kursbok\db\kurslitt.mdb")
a = Request.QueryString("idnummer")
SQL="DELETE * FROM annonser WHERE id=" & a & ""
Databas.Execute(SQL)
Databas.Close %>
hm...läste era nya inlägg, ska ändra till:
SQL="DELETE FROM annonser WHERE id=" & a & ""
Tackar.
Japp, funkar bra utan "*" också.
Tack.
Du kan förkorta
SQL="DELETE FROM annonser WHERE id=" & a & ""
till
SQL="DELETE FROM annonser WHERE id=" & a
Det kan också vara vettigt att byta ut CInt mot CLng eftersom att du med CInt inte klarar av siffror större än 32 767...
@ndersMedlem sedan juni 200032 969 inlägg Lite OT: Om jag inte helt missminner mig kräver gamla versioner av Access (ex. v97) att man har med * i sin DELETE-sats.
Det är dock rätt att utelämna den, som Jörgen HP påpekade. Han är klok. ;)
Mvh,