---
title: "Delete funktion..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/42234-delete-funktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Dwarfen"
published: "2002-04-22T13:02:24.000Z"
updated: "2002-04-23T10:00:05.000Z"
replies: 15
views: 372
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/42234-delete-funktion"
---

# Delete funktion...

## #1 — Dwarfen, 2002-04-22T13:02Z

Sitter här och har lite problem med att ta bort poster.
Har använt mej av :
\<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\alternativ\\databaser\\allt.mdb"
Set rs = Connection.Execute("SELECT TOP 5 ID, TITEL FROM FILMER ORDER BY DATUM ASC")
%\>
\<%
Do Until rs.EOF
Response.Write"\<a href=../filmer.asp?ID="& rs("ID") & "\>"& rs("TITEL") & "\</a\> \<a href=../delete/deleting.asp?DELETE&ID="& rs("ID") &"\> Ta bort\</a\>\<BR\>"

rs.MoveNext
loop
rs.Close
Set rs = Nothing
Connection.Close
Set Connection = Nothing
%\>

Med hjälp av andra länken går jag till deleting.asp
som är tänkt att med hjälp av ID nr ta bort den posten, med rätt ID..
Har använt mig av:
\<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\alternativ\\databaser\\allt.mdb"

connection.execute sql,,128

If Request.QueryString = "DELETE" Then
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID")

Connection.close
End If
%\>

Men jag får ett fel:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Det angavs inte någon kommandotext för kommandoobjektet.
/delete/deleting.asp, line 10

Någon som har en suck om vad som är fel?
Är mycket tacksam för hjälp.
/Dwarfen

Permalänk: https://www.webforum.nu/p/42234

## #2 — PatrikB, 2002-04-22T13:19Z

```
connection.execute sql,,128 

If Request.QueryString = "DELETE" Then 
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID") 

Connection.close 
End If
```

bör inte connection.execute .... ligga inne i ifsatsen efter att du sätter variabeln sql .... som det är nu så innehåller variabeln sql ingenting precis som felmeddelandet talar om.

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/655371

## #3 — Eclipse, 2002-04-22T15:37Z

Förutsatt att du möblerar om lite i koden så ser jag två saker direkt.

1\. DELETE **\*** FROM ....

2\. ... WHERE \[ID\] = " & CInt(request("ID"))

Tvåan är jag mer osäker på men stjärnan måste du ha.

Permalänk: https://www.webforum.nu/p/655508

## #4 — LarsG, 2002-04-22T15:52Z

Det är bara Access 97 som kräver att man har delete \* 

2 är också överflödig då det är strängar man håller på med, det innebär bara en onödig konvertering.

Permalänk: https://www.webforum.nu/p/655515

## #5 — Dwarfen, 2002-04-22T23:18Z

Får fortfarande samma fel...
ingen som har något annat försslag...får det verkligen inte att funka...

Permalänk: https://www.webforum.nu/p/655860

## #6 — @nders, 2002-04-23T04:06Z

```
<% 
Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=c:\alternativ\databaser\allt.mdb" 

If Request.QueryString = "DELETE" Then 
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID") 

connection.execute SQL,,128 

Connection.close 
End If 
%>
```

ASP-kod tolkas uppifrån och ner. I din kod försökte du exekvera din DELETE-sats innan du hade skapat den. Variabeln SQL var alltså tom.

Mvh,

Permalänk: https://www.webforum.nu/p/655869

## #7 — Dwarfen, 2002-04-23T07:52Z

det funkar fortfarandet inte.
Jag får inga felmedelande, och deleting.asp laddas utanproblem, men posten försvinner inte.

Men tack iallafall @anders!

Permalänk: https://www.webforum.nu/p/655936

## #8 — @nders, 2002-04-23T07:54Z

Ah. :)

Att jag inte såg det... ;)

```
If Request.QueryString[b]("vadförquerystring")[/b] = "DELETE" Then
```

Du har glömt att ange vilken querystring du vill hämta ifrån, så jag tror att du aldrig kommer in i if-satsen.

Mvh,

Permalänk: https://www.webforum.nu/p/655940

## #9 — Dwarfen, 2002-04-23T07:58Z

men...snyft...det funkar inte fortfarnade, min Querystring är ju ID...
så det borde ju bli:
\<% 
Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\alternativ\\databaser\\allt.mdb" 

If Request.QueryString("ID") = "DELETE" Then 
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID") 

connection.execute SQL,,128 

Connection.close 
End If 
%\>

Permalänk: https://www.webforum.nu/p/655942

## #10 — @nders, 2002-04-23T08:01Z

Du måste skicka delete någonstans i querystringen för att du ska komma in i if-satsen. Gör du inte det?

Om du inte måste skicka delete, utan bara kör sidan när du ska ta bort någonting, så kan du ta bort if-satsen helt.

```
<% 
Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=c:\alternativ\databaser\allt.mdb" 

SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID") 

connection.execute SQL,,128 
Connection.close 
%>
```

Om Request.Querystring("ID") inte innehåller ett värde så kommer du få ett felmeddelande.

Mvh,

Permalänk: https://www.webforum.nu/p/655944

## #11 — doggelito, 2002-04-23T08:25Z

inte har du väl ett ID i databasen med värdet DELETE heller?
du skulle kunna lägga till en till querystring som heter tex. action:

```
If Request.QueryString("action") = "DELETE" Then 
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID")
```

Permalänk: https://www.webforum.nu/p/655966

## #12 — Dwarfen, 2002-04-23T09:41Z

Det funkar fortfarande inte.
Måste jag ändra på första sidan, den jag skickar ID nr i eller vad ska jag göra?

Permalänk: https://www.webforum.nu/p/656010

## #13 — @nders, 2002-04-23T09:48Z

Hur ser koden ut nu?
Vilken data skickas (i querystring eller form) från sidan innan?

Hur skickar du datat? Med en länk? Hur ser länken ut?

Permalänk: https://www.webforum.nu/p/656014

## #14 — Dwarfen, 2002-04-23T09:53Z

Koden:
Delete.asp:
\<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\alternativ\\databaser\\allt.mdb"
Set rs = Connection.Execute("SELECT \*, TITEL FROM FILMER ORDER BY DATUM ASC")
%\>
\<%
Do Until rs.EOF
Response.Write"\<a href=../filmer.asp?ID="& rs("ID") & "\>"& rs("TITEL") & "\</a\> \<a href=../delete/deleting.asp?DELETE&ID="& rs("ID") &"\> Ta bort\</a\>\<BR\>"

rs.MoveNext
loop
rs.Close
Set rs = Nothing
Connection.Close
Set Connection = Nothing
%\>

Deleting.asp:
\<% 
Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\alternativ\\databaser\\allt.mdb" 

If Request.QueryString("action") = "DELETE" Then 
SQL = "DELETE FROM FILMER Where ID=" & Request.QueryString("ID") 

connection.execute SQL,,128 

Connection.close 
End If 
%\>

Permalänk: https://www.webforum.nu/p/656018

## #15 — @nders, 2002-04-23T09:57Z

Om du ska ha en ifsats som kontrollerar action i querystringen mot *DELETE*, så måste du skicka med det i länken också.

```
Response.Write"<a href=../filmer.asp?ID="& rs("ID") & ">"& rs("TITEL") & "</a> <a href=../delete/deleting.asp?[b]action=[/b]DELETE&ID="& rs("ID") &"> Ta bort</a><BR>"
```

Mvh,

Permalänk: https://www.webforum.nu/p/656022

## #16 — Dwarfen, 2002-04-23T10:00Z

Tackar så mycket för hjälpen, nu funkar det perfekt!
Tackar så mycket!

Permalänk: https://www.webforum.nu/p/656024

---

Tråden på webben: https://www.webforum.nu/amne/asp/42234-delete-funktion
