<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
Set rs = Server.Createobject("ADODB.Recordset")
sql = "update users " & _
"set visits = visits + 1 " & _
" where username = '" & username & "'"
Databas.execute sql,,128
response.write rs("namn") & _
" har varit här " & _
rs("antalBesok") & " gånger <br>"
%>
får detta felet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/groda/personal.asp, line 12
Vad heter din kolumn där du lagrar antal besök? Nu förutsätter jag att den heter visits.
Det verkar ha blivit lite ihopblandning mellan olika tabeller. Om du lagrar medlemsid
i session så borde detta vara ok annars så får du ändra de raderna
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
sql = "update users " & _
"set visits = visits + 1 " & _
" where id = " & session("medlemsid")
Databas.execute sql,,128
set rs = databas.execute("select namn,visits - 1 from users where id = " & session("medlemsid")
if Cint(rs("visits") = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("visits") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("visits") & " gånger <br>"
end if
%>
128 => skapa inget recordset, det byggs ett recordset internt i ADO om man inte anger denna option.
------------------ essentitia preter non sans multiplicandum
min kolum heter antalbesok så jag ändrade det.... men den tycker det är oavslutad strängkonsonant.... + att jag ändrade till session id istället... du ser nog ;)
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
sql = "update users " & _
"set antalbesok = antalbesok + 1 " & _
" where id = " & session("id")
Databas.execute sql,,128
set rs = databas.execute("select namn,antalbesok - 1 from users where id = " & session("id")
if Cint(rs("antalbesok") = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("antalbesok") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("antalbesok") & " gånger <br>"
end if
%>
det uppdateras i databasen oså... men får detta felmess:
ADODB.Fields error '800a0cc1'
ADO kunde inte hitta objektet i mängden som överensstämmer med det begärda namnet eller numret.
/groda/personal.asp, line 18
line 18 är denna:
if Cint(rs("antalbesok")) = 1 then
nope, tack emission ändå, men det funkar inte riktigt.... får nu detta felmess:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][Drivrutin för ODBC Microsoft Access] Cirkelreferens orsakad av aliaset 'antalbesok' i frågans SELECT-instruktion.
/groda/personal.asp, line 16
rad 16:
set rs = databas.execute("select namn,(antalbesok - 1) as antalbesok from users where id = " & session("id"))
hela koden:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
sql = "update users " & _
"set antalbesok = antalbesok + 1 " & _
" where id = " & session("id")
Databas.execute sql,,128
set rs = databas.execute("select namn,(antalbesok - 1) as antalbesok from users where id = " & session("id"))
if Cint(rs("antalbesok")) = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("antalbesok") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("antalbesok") & " gånger <br>"
end if
%>
set rs = databas.execute("select namn,(antalbesok - 1) as antal from users where id = " & session("id"))
if Cint(rs("antal")) = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gånger <br>"
end if
%>
hur går det då?
------------------ essentitia preter non sans multiplicandum
f*n va jobbigt detta är, inget av mina skript funkar idag!
nu får jag detta felmeddelande (det funkar med mig crisse6 att se hur många gånger jag besökt sidan men inte andra)
update users set antalbesok = antalbesok + 1 where id = 40
Körningsfel i Microsoft VBScript error '800a005e'
Ogiltig användning av Null: 'Cint'
/groda/personal.asp, line 18
kod för sidan:
<!-- #include file="adovbs.inc" -->
<!-- #include file="checkb.inc" -->
<html>
<body>
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
sql = "update users " & _
"set antalbesok = antalbesok + 1 " & _
" where id = " & session("id")
Response.Write SQL
Databas.execute sql,,128
set rs = databas.execute("select namn,(antalbesok - 1) as antal from users where id = " & session("id"))
if Cint(rs("antal")) = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gånger <br>"
end if
%>
<!-- #include file="checkb2.inc" -->
</body>
</html>
hmmm.... vad är det för fel nu då? jag får inga felmess, men det står att varje person har varit där 2 gånger oavsett om man uppdaterar och sånt... hjälp!
<!-- #include file="adovbs.inc" -->
<!-- #include file="checkb.inc" -->
<html>
<body>
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Updatera besöken *****
sql = "update users set antalBesok = + 1 where id = " & session("id")
Databas.execute sql,,128
set rs = databas.execute("select namn,(antalbesok + 1) as antal from users where id = " & session("id"))
if Cint(rs("antal")) = 1 then
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gång <br>"
else
response.write rs("namn") & _
" har varit här " & _
rs("antal") & " gånger <br>"
end if
%>
<!-- #include file="checkb2.inc" -->
</body>
</html>