Avatar billede daniel_d Nybegynder
29. september 2002 - 12:37 Der er 18 kommentarer og
1 løsning

hvad fan... er der galt med denne sætning ?

ok
den retunerer
HTTP 500 - Intern serverfejl
Internet Explorer

Ingen side eller oplysninger om fejl.

Meningen med funktionen er at den skal, når en side i DB'en loades skal den tælle readcount op med en i den pågældende artikels celle.

Meningen er at man så kan gå ind og se hvilke artikler som er mest populære på siden

selve koden poster jeg lige:

<%
If session("id") = "" then
  session("id") = 0
end if

Response.Buffer = True

' Tilslutning til databasen
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Admin/CMS.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

Set objRs = Con.Execute("SELECT * FROM articles WHERE ID=" & Session("id"))
Set objRsForside = Con.Execute("SELECT * FROM forside WHERE ID=" & Session("id"))

if not objRs.Eof Then

    strArticle = objRs("article")

        If Session("Readcount") = "" Then   

              objRS.Open "SELECT readcount FROM articles"
            objRS("Readcount") = objRS("Readcount") + 1

        objRS.Update

        objRS.Close
        Set objRS = Nothing
       
        session("Readcount")=""   
       
        else

        end if

else
  strArticle = objRsForside("article")
End if
%>

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 1</title>
<link rel="stylesheet" type="text/css" href="default.css">
<STYLE type=text/css>
BODY{
scrollbar-3dlight-color: #000000;
scrollbar-arrow-color: #000000;
scrollbar-base-color: #FFFFFF;
scrollbar-dark-shadow-color: #FFFFFF;
scrollbar-face-color: #C0C0C0;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #FFFFFF;
}
</STYLE>

</head>

<body topmargin="0" leftmargin="0" bgcolor="#FFFFFF" >

<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
    <tr>
      <td style="padding: 5" valign="top" class="text">
        <% Response.Write(strArticle) %>
      </td>
    </tr>
  </table>
  </center>
</div>
</body>

</html>
<%
    ' Lukker forbindelsen
    Con.Close
    Set Con = Nothing
%>

Med venlig hilsen
Daniel Duvald
Avatar billede medions Nybegynder
29. september 2002 - 12:41 #1
<%
If session("id") = "" then
  session("id") = 0
end if

Response.Buffer = True

' Tilslutning til databasen
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Admin/CMS.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

Set objRs = Con.Execute("SELECT * FROM articles WHERE ID=" & Session("id"))
Set objRsForside = Con.Execute("SELECT * FROM forside WHERE ID=" & Session("id"))

if not objRs.Eof Then

    strArticle = objRs("article")

        If Session("Readcount") = "" Then   

              objRS.Open "SELECT readcount FROM articles"
lngCounts = objRS("Readcount")
            lngCounts = lngCounts + 1

        objRS.Update

        objRS.Close
        Set objRS = Nothing
       
        session("Readcount")=""   
       
        else

        end if

else
  strArticle = objRsForside("article")
End if
%>

//>Rune
Avatar billede keysersoze Ekspert
29. september 2002 - 12:44 #2
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"

så burde du få en fejlmeddelelse du kan bruge
Avatar billede daniel_d Nybegynder
29. september 2002 - 12:45 #3
Rune: stadig ingen ting...

Key: Kigger lige fejlen
Avatar billede daniel_d Nybegynder
29. september 2002 - 12:46 #4
Jeg får fejl i          objRS.Open "SELECT readcount FROM articles"
ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open
Avatar billede daniel_d Nybegynder
29. september 2002 - 12:47 #5
Jeg får samme fejl når jeg prøver dit forslag medions
Avatar billede daniel_d Nybegynder
29. september 2002 - 12:49 #6
Det skal lige siges at scriptet køres fra en iframe som modtager info om id fra index.asp
Avatar billede neteffect Nybegynder
29. september 2002 - 12:59 #7
Jamen, objRS er jo også open i forvejen.
Avatar billede daniel_d Nybegynder
29. september 2002 - 13:00 #8
neteffect: kan du ikke forklare dig lidt nærmere... et eks. f.eks.
Avatar billede keysersoze Ekspert
29. september 2002 - 13:04 #9
i linie 13 åbner du din objRS;

Set objRs = Con....

men igen der hvor du får fejlen forsøger du at åbne den...
Avatar billede keysersoze Ekspert
29. september 2002 - 13:06 #10
ja - enighed :)
Avatar billede neteffect Nybegynder
29. september 2002 - 13:20 #11
Lav en sub med lokal dim rs, open og close til opdateringen af readcount.
Avatar billede cyb Nybegynder
29. september 2002 - 13:23 #12
Hvis du har databasen åben i forvejen, eks. gennem access, vil du få fejlen "operation is not allowed when the object is open" hvis du prøver at lave en delete, update eller insert.
Avatar billede daniel_d Nybegynder
29. september 2002 - 13:49 #13
okay... - jeg prøver at kigge på det.
Avatar billede daniel_d Nybegynder
29. september 2002 - 14:03 #14
Øhhh

Jeg får stadig fejl. Prøvet at lave følgende sub:

<%
'----------------------------------------------------------------
' Formål:  Skrive hvor mange kliks der har været på den aktuelle side
'----------------------------------------------------------------

Sub ReadcountArticle

    If Session("Readcount") = "" Then   

        Set Con = Server.CreateObject("ADODB.Connection")
        DBPath = "DBQ=" & server.mappath("Admin/CMS.mdb")
        Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

          set objRS = con.execute("SELECT readcount FROM articles")
        objRS("Readcount") = objRS("Readcount") + 1

        Session("Readcount") = objRS("Readcount")

        objRS.Update

        objRS.Close
        Set objRS = Nothing
       
        session("Readcount")=""   

    end if
   
    ' Lukker forbindelsen
    Con.Close
    Set Con = Nothing

End Sub
%>

Fejlen er :

ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

/indhold.asp, line 15
Avatar billede daniel_d Nybegynder
29. september 2002 - 15:04 #15
Fuck... savner et braniesvar!
Avatar billede neteffect Nybegynder
29. september 2002 - 15:21 #16
Begynd med at sætte
Option Explicit

Definér alle globale og lokale variabler  med dim
Avatar billede daniel_d Nybegynder
29. september 2002 - 15:22 #17
Jeg har løst mit prob. Det virker som det skal. Så enkelt ku det gøres

<%

  If Session("Readcount") = "" Then   
 
      strCount = objRs("Readcount")
    strCount = strCount + 1
      Response.Write(strCount)

    Set objRs = Con.Execute("UPDATE articles SET readcount = " & strCount & " WHERE ID=" & Session("id"))

      session("Readcount")=""   
       
      else

      end if
%>     

Så er den ligeglad med om db'en er åben og hvad der ellers var af problemer før
Avatar billede keysersoze Ekspert
04. oktober 2002 - 18:43 #18
hvis det er løst, kan du så ikke lige lukke dette spm?
Avatar billede daniel_d Nybegynder
04. oktober 2002 - 23:50 #19
ok...
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
Kurser inden for grundlæggende programmering

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