---
title: "Hjälp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12751-hjälp/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jboy_87"
published: "2001-11-18T22:38:00.000Z"
updated: "2001-11-21T21:50:00.000Z"
replies: 67
views: 419
page: 2
pages: 4
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/12751-hjälp"
---

# Hjälp

_Sida 2 av 4._

## #21 — jboy_87, 2001-11-19T17:46Z

funkar inte

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

## #22 — jboy_87, 2001-11-19T17:54Z

do_delete2

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 1 förväntades.
/do_delete2.asp, line 15

```
<!-- #include file="adovbs.inc" -->

<% If NOT session("login") = "ok" THEN %>
<%Session("meddelande") = "Du måste logga in för att kunna besöka den begärda sidan" %>
<script language = "javascript">
top.location.href='default.asp';
</script>
<% end if%>

<%Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and (name = '" & session("name") & "' or tillid = " & session("id") & ")"
[b]connect.execute sql,rows,128[/b]
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
```

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

## #23 — LarsG, 2001-11-19T18:03Z

Hur ser din tabell ut? Felet beror på att det är något kolumnnamn i delete-satsen som inte stämmer med tabelldefinitionen.

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

## #24 — jboy_87, 2001-11-19T18:09Z

öö fattar ej

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

## #25 — jboy_87, 2001-11-19T18:10Z

id = id
username = användarnamn
fnamn = förnamn
enamn = efternamn

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

## #26 — jboy_87, 2001-11-19T18:12Z

Gäsbokens databas

ID
TillID
datum
namn
text

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

## #27 — LarsG, 2001-11-19T18:15Z

Det skall vara namn istf name i deleete-satsen

```
sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and (namn = '" & session("namn") & "' or tillid = " & session("id") & ")"
```

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

## #28 — jboy_87, 2001-11-19T18:19Z

nu går det inte och radera bort igen

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (operator saknas) i frågeuttrycket 'ID= and (namn = 'Josef Kalkana' or tillid = 2)'.
/do_delete2.asp, line 15

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

## #29 — jboy_87, 2001-11-19T18:44Z

snälla nån snart är det klart säkert bara några fel snuttar

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

## #30 — jboy_87, 2001-11-19T18:46Z

skriver ut ta bort länken:

\<% If clng(recset("tillid")) = clng(Session("id")) or cstr(session("namn")) = cstr(recset("namn")) Then %\>
\- \<a href="do_delete2.asp?id=\<%=RecSet("ID")%\>"\>
            \<font size="1" face="Verdana"\>Ta bort.\</font\>\</a\>\</font\>\<%End If%\>
\</td\>
        \</tr\>

Delete:

```
<%Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("namn") & ")"
connect.execute sql,rows,128
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
```

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

## #31 — LarsG, 2001-11-19T19:36Z

I delete-länken så står det 

delete_2.asp?id

men sedan i delete_2 så använder du 

request.querystring("delid"). 

Då det inte finns någon sådan variabel i querystring så blir det en tom sträng när du bygger ihop delete-satsen.

Om du ändrar till

delete_2.asp?delid

så kanske

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

## #32 — jboy_87, 2001-11-19T19:52Z

tack så mycket :-) LarsG äntligen

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

## #33 — LarsG, 2001-11-19T19:57Z

så bra.

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

## #34 — jboy_87, 2001-11-19T23:53Z

men Lars fan ännu ett problem när jag klickar på användaren och kollar in hans gästbok och vill radera de inlägg jag skrev så funkar det får felmeddelandet:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Typblandningsfel i villkorsuttryck.
/do_delete2.asp, line 15

```
<%Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("id") & ")"
[b]connect.execute sql,rows,128[/b]
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
```

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

## #35 — Vide, 2001-11-20T00:13Z

Ursäkta min okunnighet, men vad gör 'rows'?

Testa detta:

```
connect.execute sql,,128
```

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

## #36 — jboy_87, 2001-11-20T08:31Z

det blir ju samma sak

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

## #37 — @nders, 2001-11-20T08:36Z

**Vide**: rows borde efter execute innehålla RecordsAffected, alltså ett värde som berättar hur många poster som påverkades av SQL-frågan.

**JBoy**, vad är det för datatyper i tabellen på de fält du använder i SQL-frågan?

Mvh,

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

## #38 — jboy_87, 2001-11-20T08:47Z

id
tillid
datum
namn
text

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

## #39 — jboy_87, 2001-11-20T08:49Z

har gjort såhär:
och det funkar tror jag!!

```
<%Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("id") & ")"
on error resume next
connect.execute sql,,128

Addera = "Select * From gb Where ID=" &Request.QueryString("delID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.Delete

	RecSet.Update
	RecSet.Close
	Set RecSet = nothing
	Set Connect = nothing
	
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
```

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

## #40 — @nders, 2001-11-20T08:51Z

Uhm, vad var det svar på? Vad är vad? 

Din SQL-fråga ser konstig ut. Du anger id på två ställen, den ena anger du som ett textfält, den andra som ett tal, och dessutom jämför du med olika värden och ett AND emellan.

Jag markerar med fett nedan. Skall det id verkligen vara ID, inte något annat fält?

```
sql = "delete From gb Where ID=" &Request.QueryString("delID") 
sql = sql & " and ([b]id[/b] = '" & session("namn") & "' or tillid = " & session("id") & ")"
```

Mvh,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12751-hjälp/page2  
Föregående sida: https://www.webforum.nu/amne/asp/12751-hjälp.md  
Nästa sida: https://www.webforum.nu/amne/asp/12751-hjälp/page3.md
