webForumDet fria alternativet

ASP - Session klyddar tillsammans med RecSet, hjälp...

ASP

4 svar · 280 visningar · startad av jvc_man

Medlem sedan okt. 2003165 inlägg
Frågan#1

Hej!

Jag håller på med en hemsida som ska ha shop m.m. men har stött på ett problem, när jag jämför en Session med ett RecSet så funkar det inte. Dvs om Session("what") = RecSet("whatID"), och Sessions värde är 1 samt RecSets värde är 1 så förstår ändå inte satsen det...

En del av koden ser ut så här:

<% Do while NOT RecSet1.EOF %>

<B><A href="meny.asp?ID1=<%=RecSet1("ID1")%>"><%=RecSet1("Namn")%></A></b></font><br>

<% If Session("Kat1") = RecSet1("ID1") Then %>

bla bla bla

<% End IF %>

_________________________________________

Dock om man skriver dit detta ovanför If-satsen så får man se att Session("Kat1") exempelvis har värdet 2 och att RecSet1("ID1") ständigt får ett nytt värde:
_________________________________________

<% Do while NOT RecSet1.EOF %>

<B><A href="meny.asp?ID1=<%=RecSet1("ID1")%>"><%=RecSet1("Namn")%></A></b></font><br>

<% =Session("Kat1") %> <br>
<% =RecSet1("ID1") %> <br>

<% If Session("Kat1") = RecSet1("ID1") Then %>

bla bla bla

<% End If %>
_________________________________________

Jag har också testat med att jämföra en Request.Querystring med RecSet:et, dock funkar det inte heller, dvs If-satsen kommer aldrig gälla, det funkar endast om jag sätter RecSet lika med ett tal: Ex. RecSet1("ID1") = "2" Then...
Då kommer det funkar.

Och som sagt så ser jag att Session samt RecSet har värden och vid ett speciellt tillfälle samma värde, dock förstår den inte det.

Skall man använda några konstiga tecken för att få satsen att fungera såsom:

Session("Kat1") = " & bla bla & " Then

eller?

Mycket tacksam för hjälp, och det är lite bråttskande också...

Tänk dock på att detta är endast ett urklipp av den oändligt långa koden, dock behövs inte mer än detta för att förstå felet...

Mvh Björn Mattsson

Medlem sedan dec. 20003 887 inlägg
#2

Om Kat1 och ID1 alltid är siffror kan det hjälpa om du typar variablerna

If CInt(Session("Kat1")) = CInt(RecSet1("ID1")) Then
Medlem sedan okt. 2003165 inlägg
#3

Tusen tack, det funkade! =)

Väldigt tacksam!!!

Medlem sedan dec. 20003 887 inlägg
#4

Varsågod :)

Medlem sedan juni 200032 967 inlägg
#5

Kan talen bli stora, använd CLng() istället för CInt().

Maxvärdet för en integer i VB/VBScript är 32768.

red: Välkommen till wF! :bire

Mvh

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)