ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
/weborg/do_login.asp, line 11
<%
user = request.form("usern")
pass = request.form("passw")
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username=user AND password=pass"
RS.Open SQL, Conn, adOpenStatic, adLockOptimistic
%>
rad 11 som felet ligger på är "RS.Open SQL, Conn, adOpenStatic, adLockOptimistic " har trixat å knåpat ett tag nu, men kan inte lösa det,... hjärn släpp!
ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
/weborg/do_login.asp, line 11
okej, nu fungerade det när jag tog bort "adOpenStatic, adLockOptimistic " från koden! kan nån vara bussig o tala om vad "adOpenStatic, adLockOptimistic " innebär.. verkar vara en konstig kodbit :P
Det finns ingen anledning att byta till rs.open om du bara skall hämta data.
adOpenStatic, adLockOptimistic definieras normalt i en fil som heter adovbs.inc och anger hur recordsetet öppnas, om man tillåter att förändring sker eller inte.
Om man inte vill inkludera denna fil så kan man själv de de konstanter som man faktiskt använder
Istället för att skapa en ny tråd, så åter andvänder jag denna :P
i min do_login.asp har jag lagt till funktionen datediff, för att kolla av om fältet "online" är över 5 minuter gammalt, men nått går knas å vill inte fungera..
ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/weborg/do_login.asp, line 26
<%
user = replace(request.form("usern"),"'","''")
pass = replace(request.form("passw"),"'","''")
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username='"&user&"' AND password='"&pass&"'"
RS.Open SQL, Conn, 3, 3
If rs.bof and rs.eof then
response.write("nä, hittade inget")
else
[b]Do Until RS.EOF
If RS("status") = "online" AND DateDiff("n", RS("online"), Now) > 5 Then
RS("status") = "offline"
RS.Update
End If
RS.MoveNext
Loop[/b]
Session("user") = RS("username")
session("id") = RS("id")
RS("status") = "online"
RS("online") = now
RS.Update
end if
rs.close
conn.close
%>
efter loopen eftersom du redan då har kommit till slutet.
Varför har du en loop överhuvudtaget? Username är väl unikt?
If rs.bof and rs.eof then
response.write("nä, hittade inget")
else
Session("user") = RS("username")
session("id") = RS("id")
RS("status") = "online"
RS("online") = now
RS.Update
end if
Det finns heller ingen anledning att sätta någon offline eftersom du sätter den till online direkt efter.
lite loopar o grejer, men lixom, det fungerar, inte så high på vad det gäller ASP längre, har inte hållt på med det sen mer än 1 år hehe.. så liiiite rostig e man... men d e smällar man får ta =)
Det du gör är att sätta ALLA offline om dom inte loggat in under de senaste fem minutrarna, är det rätt uppfattat?
Om det är så, har du någon anna ncheck någonstans som ser till att "hålla" dom online?
Det du gör är att sätta ALLA offline om dom inte loggat in under de senaste fem minutrarna, är det rätt uppfattat?
Om det är så, har du någon anna ncheck någonstans som ser till att "hålla" dom online?
ja det har jag, väl inne på sidan så kommer det finnas en frame som visar vilka som e anslutna, och den kommer refresha var 3:e minut, men jag ska ändra datediff till 20 min! har satt till fem nu, för att slippa vänta 20 min för att kolla om det fungerar =) hehe
ska kolla på RS.Movefirst när jag kommer hem!
nu måste jag till skolan! och laga ett nätagg, en dockstation och ett labrationskort, som vi lyckades bränna sönder igår hehe..