webForumDet fria alternativet

Hur kan jag tilldela en session ett värde ur en db

ASP

5 svar · 271 visningar · startad av Percy

Medlem sedan mars 2000187 inlägg
Frågan#1

Hej!
Jag försöker att tilldela en session ett värde som hämtas ur en användardatabas, men får då följande felmeddelande:

ADODB.Recordset error '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal. 

/members/login.asp, line 21

här är koden jag anävnder mig av:

<%
user = Request.Form("user")
pass = Request.Form("pass")

If Len(user) < 1 Then
session("no") = "Du måste ange ett användarnamn"
Response.Redirect("default.asp")
ElseIf Len(pass) < 1 Then
session("no") = "Du måste ange ett lösenord"
Response.Redirect("default.asp")
End If

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"

sqlstmt = "SELECT user_id, username, password, surname, lastname, email FROM account WHERE username = '" & user & "' AND password = '" & pass & "'"
set rs = Connection.Execute(sqlstmt)

IF NOT rs.EOF Then
session("login") = "yes"
Session("userid") = rs(user_id)
Session("email") = rs(email)
Session("no") = ""
Response.Redirect("secure.asp")

Else
Session("no") = "inloggning misslyckades"
Response.Redirect("default.asp")
End if
rs.close
connection.Close
%>

rad21 är f.ö. denna:

Session("userid") = rs(user_id)

det jag undrar är om någon vet hur det ska se ut, är nog inte särskilt svårt om man kan det...vilket jag inte kan :-(
tack på förhand

Medlem sedan dec. 200012 464 inlägg
#2

Lite fnuttologi igen

IF NOT rs.EOF Then
session("login") = "yes"
Session("userid") = rs("user_id")
Session("email") = rs("email")
Session("no") = ""

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20005 273 inlägg
#3
Session("userid") = rs([b]"[/b]user_id[b]"[/b])

det ska vara fnuttar i paranteserna

------------------
I like ¼ £ whith cheese

Medlem sedan mars 2000187 inlägg
#4

tack för hjälpen!
men nu återstår det ett problem till.
jag vill i sessionen name infoga både för- och efternamn men även att de ska vara ett mellanrum mellan dessa dvs så det bli förnamn efternamn och inte förnamnefternamn. Hur gör jag detta?
har försökt med följande kod men de sitter dessvärre ihop

Session("name") = rs("surname") & rs("lastname")

[Redigerat av Percy den 09 aug 2001]

Medlem sedan dec. 19996 721 inlägg
#5

Ja, eftersom du inte lägger in något mellanslag så...

Session("name") = rs("surname") & " " & rs("lastname")

Medlem sedan mars 2000187 inlägg
#6

tack!
hehe...börjar bli pinsamt att ställa sådana frågor... :-(
kanske skulle gå och läsa på lite, hmm.

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