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
------------------
Om du gör jobbet rätt första gången blir jobbet gjort. Om du gör jobbet fel fjorton gånger skapar du fler arbetstillfällen.
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.
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.
------------------ essentitia preter non sans multiplicandum