---
title: "Jäfmröa Session med recordset."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2004-02-24T11:53:07.000Z"
updated: "2004-02-24T18:47:32.000Z"
replies: 43
views: 690
page: 1
pages: 3
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/98093-jäfmröa-session-med-recordset"
---

# Jäfmröa Session med recordset.

_Sida 1 av 3._

## #1 — magnusfernstrom, 2004-02-24T11:53Z

Hej hej!
Jag vill jämföra en Session med ett recordset för att kolla om användarens Id är lika med det ID som meddelandent är till.
Annars ska man redirectas till meddelande sidan.

Jag får det inte att fungera med den här koden:

```
If Session("userID") = rs("To") Then
'koden som skriver ut meddelanden
```

Jag får inget felmeddelande, men ingen data dyker helt enkelt upp på sidan.

Jag kanske får förklara lite tydligaare om ingen förstår.
Men jag tänkte att det kanske är nåt speciellt när man ska jämföra värden med siffror?

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

## #2 — @nders, 2004-02-24T11:54Z

> Men jag tänkte att det kanske är nåt speciellt när man ska jämföra värden med siffror?

Jepp, man måste alltid tänka på att subtypskonvertera.

```
If IsNumeric(Session("UserID")) Then
     If CLng(Session("userID")) = CLng(rs("To")) Then
....
....
....
End if
```

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

## #3 — magnusfernstrom, 2004-02-24T11:56Z

Oooo okej, tänkte väl att det var nåt lurt med det hela ;)

Men som vanligt så får man hjälp av någon kunnig :)
Tack så mycket @nders.
Men du, det vore toppen om du förklarade för mig vad som egentligen händer med denna kod.
Vad är IsNumeric och CLng t.ex?

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

## #4 — Engine^, 2004-02-24T11:57Z

Det kan vara spökerier i subdatatyperna även om jag nu inte tror att VBScript är så känsligt för det...

```
If CInt(Session("userID")) = CInt(rs("To")) Then
  [blue]'Hubba hubba[/blue]
Else
  Response.Write "Session.userID = " & Session("userID") & "<br>rs(""To"") = " & rs("To")
End If
```

Jag skulle dock rekommendera dig att döpa om fältet *To* till något vettigt, eftersom jag har för mig att TO är ett reserverat ord.

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

## #5 — @nders, 2004-02-24T11:58Z

If Isnumeric(någonting) then ---\> Om *någonting* kan anses vara ett tal, gör följande
Clng (någonting) ---\> Konverterar *någonting* till subtypen long, dvs långt heltal (32 bitar).

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

## #6 — magnusfernstrom, 2004-02-24T12:02Z

Okej, tack anders.
Engine^ tack för din hjälp också.
Jag tror inte To är ett reserverat ord, för det blir inte fel.
Jag hade innan ett fält som hette From. Men då blev det fel på sidan eftersom det antagligen är ett reserverat ord.

Men det kanske inte behöver bli fel för att det är ett reserverat ord?

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

## #7 — Engine^, 2004-02-24T12:03Z

Ja, det är ju inte omöjligt att jag har för mig fel... ;) Jag rekommenderar dock fortfarande att du byter namn på fältet. :)

Summa summarum bör det se ut som följer nu...

```
If IsNumeric(Session("userID")) And IsNumeric(rs("To")) Then
  If CLng(Session("userID")) = CLng(rs("To")) Then
    ...
```

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

## #8 — magnusfernstrom, 2004-02-24T12:08Z

OKej tack så mycket Engine^ för tipset.
:)

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

## #9 — @nders, 2004-02-24T12:11Z

TO är reserverat av ODBC, så beroende av anslutningstyp kan saker och ting gå åt pipan. Byt namn på fältet.

Använd mer specifika fältnamn så slipper man sånt krångel.

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

## #10 — magnusfernstrom, 2004-02-24T12:12Z

Ooops ett nytt problem!
Jag tar det här så slipper vi en till tråd.

Om Strängen är tom så har jag löst det med denna kod:

```
If Request.Querystring("MID") = "" Then
Response.Write "Meddelanden finns inte"
Else
----
---
----
End If
```

Och med dne koden är det inga problem.
Men om man istället skriver t.ex. MID=3434 i länken så får man detta meddelande:

error '80020009'

/slauson/db/1/message.asp, line 14

Alltså, hur skall jag gära för att kolla om strängen har något värde, samt om siffran i strängen överhuvudtaget finns i databasen?

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

## #11 — magnusfernstrom, 2004-02-24T12:13Z

Okej, då byter jag väl då :)

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

## #12 — @nders, 2004-02-24T12:15Z

> samt om siffran i strängen överhuvudtaget finns i databasen?

```
If objRS.EOF Then
    ' tomt, för böveln!!!
else
    ' gör prylar
end if
```

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

## #13 — magnusfernstrom, 2004-02-24T12:19Z

Och OBJ skall i detta fall ersättas av?

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

## #14 — @nders, 2004-02-24T12:21Z

objRS ska givetvis bytas mot namnet på ditt recordsetobjekt.

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

## #15 — magnusfernstrom, 2004-02-24T14:58Z

Hehe okej :)

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

## #16 — magnusfernstrom, 2004-02-24T15:00Z

men vad i...
Alltså ledsen, men jag är för trög...
Hur  ska koden se ut?

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

## #17 — @nders, 2004-02-24T15:04Z

Visa din kod.

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

## #18 — magnusfernstrom, 2004-02-24T15:08Z

Ja du det är den jag fick av dig helt enkelt....
Querystringen heter MID, och det gör även fältet i databasen-

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

## #19 — @nders, 2004-02-24T15:10Z

Du måste ju ha mer kod än den jag skrev?
Visa den koden du försökte med, som inte fungerar.

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

## #20 — magnusfernstrom, 2004-02-24T15:12Z

```
<%
If Session("inloggad") = "ja" Then

If Request.Querystring("MID") = "" Then
Response.Write "Meddelanden finns inte"
Else

Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("users.mdb")
SQL = "SELECT * FROM meddelanden WHERE MID = " & Request.Querystring("MID") & ""
Set rs = db.Execute(SQL)

If IsNumeric(Session("userID")) Then
     If CLng(Session("userID")) = CLng(rs("Till")) Then
 
Do until rs.EOF
%>
<br>
Rubrik: <%=rs("Rubrik")%>
<br>
Från: <%=rs("FranUser")%>
<br>
<br>
<%=rs("Meddelande")%>
<br>
<%
rs.MoveNext
Loop

Else
Response.Redirect "meddelanden.asp"
End If
End If
End If
End If
%>
```

För övrigt så är koden himla stökig med tanke på alla If satser. Men det kanske inte går på något annat sätt?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset  
Nästa sida: https://www.webforum.nu/amne/asp/98093-jäfmröa-session-med-recordset/page2.md
