Om Kat1 och ID1 alltid är siffror kan det hjälpa om du typar variablerna
If CInt(Session("Kat1")) = CInt(RecSet1("ID1")) Then
4 svar · 280 visningar · startad av jvc_man
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
Om Kat1 och ID1 alltid är siffror kan det hjälpa om du typar variablerna
If CInt(Session("Kat1")) = CInt(RecSet1("ID1")) Then
Varsågod :)
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