---
title: "Ännu en fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11897-ännu-en-fråga"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ReloadMaster"
published: "2001-10-01T14:38:00.000Z"
updated: "2001-10-01T22:15:00.000Z"
replies: 7
views: 237
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/11897-ännu-en-fråga"
---

# Ännu en fråga

## #1 — ReloadMaster, 2001-10-01T14:38Z

Tjena!
Vad betdyder detta:
Request-objekt fel 'ASP 0105 : 80004005' 

Indexet ligger utanför intervallet 

/asp/scripts/ccommunity/community_kompisar.asp, rad 90 

Ett matrisindex ligger utanför intervallet. 

Rad 56 - 96

```
<% 
If Request.Querystring("kompis") = "kontroll" Then

SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)

Do until RecSet4.EOF

If RecSet4("VID") = Request.QueryString("KID") Then

Response.Redirect "community_kompisar.asp?ID="&ID&""

RecSet4.Close

Else

Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&Request.Querystring(KID)&"&kompis=kontroll2"

End If

RecSet.MoveNext

Loop
End If

If Request.Querystring("kompis") = "kontroll2" Then

%>
<b>Du kan inte lägga till dig själv på din kompis lista</b>
<%

Else

Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=ny"

End If
End If
%>
```

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

## #2 — @nders, 2001-10-01T14:42Z

Du har glömt citationstecken.

```
Request.Querystring("KID")
```

Mvh,

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

## #3 — ReloadMaster, 2001-10-01T16:35Z

Jag skulle behöva hjälp med denna kod:

```
<% Response.Buffer = True %>
<% ID = Request.Querystring("ID")%>
<% KID = Request.Querystring("KID")%>
<html>
<head>
<title>Community - _ _ _ _ _ _.nu</title>
</head>
<body>

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("communitydb.mdb")

SQL = "SELECT * FROM medlemmar WHERE ID="&ID&""
Set RecSet = Connect.Execute(SQL)

an = RecSet("anvandarnamn")
%>

<a href="community.asp?ID<% =ID%>">Startsida</a>
 <a href="community_medlem.asp?ID=<%= ID%>&KID=<% =ID%>">Din profil</a>
 <a href="community_gastbok.asp?ID=<%= ID%>&anvandare=<% =an%>">Din Gästbok</a>
 Dina kompisar
 <a href="community_medlemmar.asp?ID=<%= ID%>">Medlemmar</a>
 <a href="community_meddelanden.asp?ID=<% =ID%>">Meddelanden</a>
 <a href="community_forum.asp?ID=<% =ID%>">Forum</a>
 <a href="community_andra.asp?ID=<%= ID%>">Ändra Uppgifter</a>
<p><p>
<b><% =an%>'s Kompisar:</b><p><p><br>

<%
SQL = "SELECT VID FROM kompisar WHERE DID='"&RecSet("ID")&"'"
Set RecSet2 = Connect.Execute(SQL) 
If RecSet2.EOF Then
%> 
<% =an%> har inga kompisar just nu 
<%
Else 
%>
Användarnamn:<p>
<%
Do Until RecSet2.EOF
VID = Recset2("VID")
SQL = "SELECT * FROM medlemmar WHERE ID="&VID&""
Set RecSet3 = Connect.Execute(SQL)
KID = Recset3("ID")
anvnamn = RecSet3("anvandarnamn")
%> 
<a href="community_medlem.asp?ID=<% =ID%>&KID=<% =KID%>"><% =anvnamn%></a><br> 
<%
RecSet2.MoveNext 
Loop
End If
%>

<% 
If Request.Querystring("kompis") = "kontroll" Then

SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)

If RecSet4.EOF Then

Response.Redirect "community_kompisar.asp?ID="&ID&""

Do until RecSet4.EOF

If RecSet4("VID") = Request.QueryString("KID") Then

Response.Redirect "community_kompisar.asp?ID="&ID&""

RecSet4.Close

Else

Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=kontroll2"

End If

RecSet4.MoveNext

Loop
End If
%>

<%
If Request.Querystring("kompis") = "kontroll2" Then
%>
<b>Du kan inte lägga till dig själv på din kompis lista</b>
<%

Else

Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=ny"

End If
%>

<%If Request.Querystring("kompis") = "ny" Then
SpaVID = Request.Querystring("KID")
SpaDID = Request.Querystring("ID")

SQL = "Insert Into kompisar" 
SQL = SQL & "(VID,DID)"
SQL = SQL & "VALUES ('"& spaVID &"', '"& spaDID &"')"
'Response.Write" "&SQL&""
Connect.Execute(SQL)

Response.Redirect"community_kompisar.asp?ID="&ID&"&kompis=tillagd"

End If%>
<%If Request.Querystring("kompis") = "tillagd" Then%>

<p><br><p><br>
<b>Din kompis är nu tillagd!</b><br>
<a href="community_kompisar.asp?ID=<% =ID%>">Till dina kompisar!</a>

<%End If%>

<p><br><p><a href="default.asp?status=loggaut">Logga ut</a>

<%
Recset.Close
Set RecSet = Nothing
Recset2.Close
Set RecSet2 = Nothing
Connect.Close 
Set Connect = Nothing

End If
%>
</body>
</html>
```

Fel:
när man klickar på denna länk:
kompisar.asp?ID=6&KID=11&kompis=kontroll

Så ska koden kolla om användaren finns och om man försöker lägga till sig själv på kompislistan men efter ett tag när den håller på så blir adressen denna:

community_kompisar.asp?ID=6&KID=6&kompis=ny

Men innan var KID't = 10

så den har ändrats...

\[Redigerat av ReloadMaster den 01 okt 2002\]

\[Redigerat av ReloadMaster den 01 okt 2001\]

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

## #4 — ReloadMaster, 2001-10-01T17:07Z

Sedan undrar jag:

```
<% 
If Request.Querystring("kompis") = "kontroll" Then

SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)

If RecSet4.EOF Then

Response.Redirect "community_kompisar.asp?ID="&ID&""

Do until RecSet4.EOF

If RecSet4("VID") = Request.QueryString("KID") Then

Response.Redirect "community_kompisar.asp?ID="&ID&""

RecSet4.Close

Else

Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=kontroll2"

End If

RecSet4.MoveNext

Loop
End If
%>
```

Letar den verkligen igenom alla poster i databsen eller måste jag  flytta MoveNext högre upp?

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

## #5 — ReloadMaster, 2001-10-01T17:51Z

Upp...

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

## #6 — ReloadMaster, 2001-10-01T20:37Z

.

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

## #7 — jorgen, 2001-10-01T21:03Z

Hej ReloadMaster!

I denna tråden samt i följande tråd:
 <http://cgi.webforum.nu/wf/Forum11/HTML/006555.html> 

Har du postat 4 inlägg med enbart punkter för att du ska stå högst upp i forumet. 

Jag tvivlar på att någon svarar fortare på din fråga bara för du flyttar upp dina inlägg med hjälp av innehållslösa inlägg. Som moderator ber jag dig att sluta med dessa inläggspostningar omgående. Jag är också övertygad om att du får hjälp om det är någon som läst och kan svara på ditt inlägg.

Tack på förhand!

Vänligen Jörgen :)
Moderator wF

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

## #8 — LarsG, 2001-10-01T22:15Z

Din kod är svår att felsöka på grund av att den är så ostrukturerad.

Det blir lättare om du försöker hålla varje funktion för sig i 
en egen sub och styr det genom att skicka en funktionskod i querystringen

```
sub showFriends(connection,id,byRef action)
'kod
end sub

sub addFriend(connection,id,kid,byRef action)
'kod
end sub

sub init ()
'skriv ut initial page
end sub

'fler funktioner

'main function
'skriv ut gemensamt innehåll

set connect = server.createobject("adodb.connection")
connect.open "dsn"

select case request.querystring("operation")
  case "showFriends" 
       call showFriend(connection,request.queryString("ID"),action)
  case "addFriend"
       call addFriend(connection,request.queryString("ID"),request.queryString("KID"),action)
'fler fall
  case else
       call init()
  end select
connect.close
response.redirect action
```

En annan sak du bör undvika är konstruktioner som 

```
sql = "select * from medlemmar"
set rs = connect.execute(sql)
do until rs.eof
if rs("ID") = KID then
   response.redirect "somepage"
end if
rs.movenext
loop
response.write "Det fanns ingen post"
```

Det är mycket effektivare att skriva det som

```
sql = "select * from medlemmar where id = '" & KID & "'"
set rs = connect.execute(sql)
if rs.eof then
   response.write "Det fanns ingen post"
else
   action = "somepage"
end if
rs.close
response.redirect action
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11897-ännu-en-fråga
