Räkna login!

ASP

3 svar · 213 visningar · startad av annesophie

Medlem sedan juni 20012 236 inlägg
Trådstart#1

Hej,

Tänkte att jag skulle kolla av hur många gåner en viss användare (i detta fallet GUEST VISITOR) har loggat in i min projekt del.

Så jag försökte använda detta scriptet:

sql4 = "update login set antalBesok = antalBesok + 1 where user_id = "&userref&";"
conn.execute sql4

Skapade ett nytt fält i min tabell [login] som heter [antalBesok]. Jag satte fältet till NUM, är det rätt???

Jag lade scriptet på "inside" alltså dit man kommer efter login checken är avklarad och tänkte att det skulle funka...men icke...

Ingenting händer, alltså ingen "uppdatering" i tabellen och försöker jag skriva ut sql 4 - <%=rs4("antalBesok")%> - så får jag felmeddelande ADODB.Fields fout '800a0cc1' resten är på Holländska och är säkert därför inte så användbart för er, men det betyder typ att kan inte hitta något fält som heter så !!

Jag har jämfört namn och kollat det mesta säkert 10 ggr men jag hittar ingenting som ser fel ut! Jag har skrivit ut session("login") och SQL4 och då ser det ut så här:

20 (detta är session("login"))

(detta är SQL4)
update login set antalBesok = antalBesok + 1 where id = 20;

HELP!

Detta är ASP biten i inside.asp:

<%
option explicit
response.buffer=true

dim conn,sql,rs,userref,user_id,sql2,rs2,project_id,project_updated_by,sql3,rs3,sql4,rs4,antalBesok

userref = session("login")

IF userref = "" then
response.redirect "login.asp"
else

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.mappath("tcf.mdb")

sql = "select * from [login] WHERE user_id = "& userref &";"
set rs =conn.execute(sql)
response.write sql

sql4 = "update login set antalBesok = antalBesok + 1 where user_id = "&userref&";"
conn.execute sql4

end if
%>

<HTML>

<HEAD></HEAD>

<BODY>

<!--Och så försöker jag skriva ut-->

<%=rs4("antalBesok")%>

</BODY>

</HTML>

Jag behöver hjälp!

MvH

/A

Medlem sedan juni 200032 967 inlägg
#2

en updatefråga returnerar ingenting (förutom ett tomt recordset i detta fallet, eftersom du skrivit koden så).

du måste göra en select för att få ut någonting. eftersom recordsetet är tomt och du försöker kalla på ett fält som inte finns där, får du felmeddelandet.

mvh,

Medlem sedan dec. 200012 464 inlägg
#3

Förmodligen så ligger det null i kolumnen antalBesok. Null + 1 blir också null.

Om det är så kan du antingen uppdatera direkt i access så att alla får 0 där initialt eller så kan du skriva din update så här istället.

sql = "update login " & _
" set antalBesok = iif(antalBesok is null,1,antalBesok+1) " & _
" where id = "&userref
conn.execute sql,,128

Anledningen till att du får fel när du försöker skriva ut något från rs4 är att det recordsetet är tomt eftersom en update inte returnerar några rader. Man behöver därför inte skapa något recordset alls.

Medlem sedan juni 20012 236 inlägg
#4

TAAAAAAAAAAAAAAACK!!!

LarsG du är min hjälte!

MvH

/A

376 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
121 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)