webForumDet fria alternativet

Session problem

ASP

24 svar · 497 visningar · startad av pellsäter

Medlem sedan aug. 2000526 inlägg
Frågan#1

Den här funkar

sql = "Select * from tempKorg Where SessionID = "& 100459412
rs.open sql,conn

men inte

sql = "Select * from tempKorg Where SessionID = "& sSession&"
rs.open sql,conn

sSession kommer från

<%sSession = Session.Sessionid%>

Hjälp!!

Medlem sedan juni 200032 967 inlägg
#2
sql = "Select * from tempKorg Where SessionID = "& sSession

Mvh,

Medlem sedan aug. 2000526 inlägg
#3

Nej det hjälper inte!

Den tar inte med något SessionID från variablen.. Utan det funkar bar när man tar ett exakt SessionId som det första exemplet...

Jag ska radera från tempKorg och lägga in uppgifterna i orderKorg........

Medlem sedan aug. 2000526 inlägg
#4

Här är koden

<%Sub Bestalla
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "xxxxx"
sql = "Select * From Kunder Where Losenord = '" & sLosen & "' And Logg = '" & slogin & "'"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn

If not (Rs.Eof) then
sKid = rs("kundID")
rs.close

sql = "Select * from tempKorg Where SessionID = "& sSession
rs.open sql,conn

Do until rs.eof
sAid = rs("artikelID")
sAntal = rs("Antal")
sdatum=date()

sql="Insert Into Orderrad(OrderID, Antal, KundID, artikelID, datum) Values ('"&sSession&"', '"&sAntal&"', '"&sKid&"', '"&sAid&"', '"&sdatum&"')"
conn.execute(sql)

sql = "Delete * from tempKorg Where SessionID = "& sSession
conn.execute(sql)
rs.movenext
loop
response.write "Tack för din beställning"
Session.Abandon
Else
response.write "Du är inte kund"
End If
conn.close
End sub%>

Medlem sedan mars 20015 287 inlägg
#5

Å du är 100% på att sSession innehåller något?

Medlem sedan aug. 2000526 inlägg
#6

nej det är jag inte... ska kolla

Medlem sedan nov. 20017 144 inlägg
#7

Står denna rad: <%sSession = Session.Sessionid%> före selectsatsen?

Medlem sedan aug. 2000526 inlägg
#8

Jo den innehåller ett ID

Medlem sedan aug. 2000526 inlägg
#9

den står högst upp i sidan

Medlem sedan nov. 20017 144 inlägg
#10

Vad händer om du tar bort '(enkelfnuttarna) runt sSession?

sql="Insert Into Orderrad(sSession ,OrderID, Antal, KundID, artikelID, datum) Values ('"&sSession&"', '"&sAntal&"', '"&sKid&"', '"&sAid&"', '"&sdatum&"')"

Skall inte sSession vara med och leka här?

Medlem sedan juni 200032 967 inlägg
#11

Du har inte skapat variabeln sSession i en annan sub? i så fall är den lokal för den suben. Prova att lägga tilldelningen av sSession inne i subrutinen Bestalla.

Mvh,

Medlem sedan aug. 2000526 inlägg
#12

det funkar itne med nåt!

När jag lägger in orden i tempKorg så funkar det med

sql = "Insert Into tempKorg(sessionID,artikelID,antal) Values ('" & sSession & "', '" & sArtnr & "', '" & sAntal & "')"
conn.Execute(sql)

med sedan funkar det inte när jag ska hämta ordern och lägga in den i
sql="Insert Into Orderrad(OrderID, Antal, KundID, artikelID, datum) Values ('"& sSession &"', '"& sAntal &"', '"& sKid &"', '"& sAid &"', '"& sdatum &"')"
conn.execute(sql)

eller ta bort den från tempKorg med
sql = "Delete * from tempKorg Where SessionID = "& sSession
conn.execute(sql)

Tacksam för svar

Medlem sedan juni 200032 967 inlägg
#13

Var är sSession deklarerad? Inne i en sub eller funktion? I så fall är variabeln lokal för den subben/funktionen.

Du skulle ju kunna ersätta sSession med Session.SessionID och använda det direkt i dina SQL-frågor.

Mvh,

Medlem sedan aug. 2000526 inlägg
#14

den är deklarerad i toppen av sidan och bara inom <% %> såhär:

<%
sAction = Cstr(Request.Querystring("andra"))
sAntal = Cint(Request.Querystring("antal"))
sArtnr = Cint(Request.Querystring("artnr"))
sBesk = Cstr(Request.Querystring("besk"))
sSession = Session.Sessionid
sLosen = Request.Querystring("los")
sLogin = Request.Querystring("log")
response.write sSession
%>

Medlem sedan nov. 20017 144 inlägg
#15

Funkar inte detta?:

sql="Insert Into Orderrad(OrderID, Antal, KundID, artikelID, datum) Values ('"& Session.Sessionid 
 &"', '"& sAntal &"', '"& sKid &"', '"& sAid &"', '"& sdatum &"')" 
conn.execute(sql)
Medlem sedan mars 20015 287 inlägg
#16

sSession = Cint(Session.Sessionid)

alt.

sSession = Cstr(Session.Sessionid)

kanske?

Medlem sedan nov. 20017 144 inlägg
#17

Vad är det för skilnad på de två varianterna solbulle?

Medlem sedan mars 20015 287 inlägg
#18

Det ena, Cint gör heltal, siffror av variabeln, den andra Cstr gör det till en sträng.

...tror jag.... ;)

Utifall att det som den är i nuläget inte stämmer med vad fältet idb:n är.

Medlem sedan aug. 2000526 inlägg
#19

får inget av era förslag att funka...Har kollat så att jag har något i variaben sSession hela tiden men det läggs inte in nåt i orderRad eller tas bort nåt från tempKorg.....

Byter jag däremot ut mot ett existerande SessionID som finns i tempKorgen så funkar allt sammans

Medlem sedan mars 20015 287 inlägg
#20

Du kommer in i din loop så att: "Tack för din beställning" skrivs ut?

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)