Avatar billede zux Nybegynder
01. marts 2001 - 13:50 Der er 4 kommentarer

Counter

Hei,

Jeg lasta ned en teller fra internett, men får den ikke til å virke! Her er koden:

<%
Dim Connection, RS, Page, Counts, MDBfilepath
Page=\"Sirkelens Ende\"
Set Connection=Server.Createobject(\"ADODB.Connection\")
MdbFilePath = Server.MapPath(\"/sirkelensende/db/counter.mdb\")
Connection.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & MdbFilePath & \";\"
If Len(Session(Page)) = 0 Then
    Set RS = Connection.Execute(\"SELECT * FROM counter WHERE fldPage = \'\" & Page & \"\'\")
    If RS.EOF = TRUE Then
        Connection.Execute(\"INSERT INTO counter (fldPage, fldCount) VALUES (\'\"&Page&\"\', 0)\")
    End If
    Set RS = Connection.Execute(\"SELECT * FROM counter WHERE fldPage = \'\" & Page & \"\'\")
    Counts=RS(\"fldCount\")+1
    Set RS =  Connection.Execute(\"UPDATE counter SET fldCount = \" & Counts & \" WHERE fldPage = \'\" & Page & \"\'\")
    Session(Page) = \"something\"
    Connection.Close
Else
    Set RS = Connection.Execute(\"SELECT * FROM counter WHERE fldPage = \'\" & Page & \"\'\")   
    Counts=RS(\"fldCount\")
End If
Response.Write Counts
%>

Feilmeldingen jeg får er:

Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/sirkelensende/overskrift.asp, line 10

Vet noen hva jeg må gjøre?
Avatar billede tpiil Nybegynder
01. marts 2001 - 13:51 #1
du kan ikke opdatere db\'en måske skulle du snakke med din udbyder...
Avatar billede blazer Nybegynder
01. marts 2001 - 13:52 #2
Connection.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & MdbFilePath & \";\",3,1
Avatar billede ellebaek Nybegynder
01. marts 2001 - 13:54 #3
Nemlig Tpiil ...
Avatar billede ellebaek Nybegynder
01. marts 2001 - 13:57 #4
Men prøv denne tæller i stedet ...
den skal bare ligge i toppen af default.asp

så tjekker den sessionen hver gang en bruger kommer til siden...
<%
if session(\"antal\") = \"\" Then

set besoegende = Server.CreateObject(\"ADODB.Connection\")
Set RSbesog = Server.CreateObject(\"ADODB.Recordset\")

strbes = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
strbes = strbes & \"DBQ=\" & server.mappath(\"****.mdb\")
Bessql = \"Select * FROM counter\"

RSbesog.open bessql,strbes
besoegende.open strbes

kat = RSBesog.Fields(\"antal\") + 1
upSQL=\"UPDATE counter SET antal = \'\"&kat&\"\'\"
Set beeeeep = besoegende.Execute(upSQL)

session(\"antal\") = RSbesog(\"antal\")

RSbesog.close
set RSbesog = nothing
besoegende.close
set besoegende = nothing
end if 
%>
kræver bare du har en database med en tabel der hedder counter

i den skal der være et felt der hedder antal ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester