Avatar billede axkris Nybegynder
15. april 2003 - 22:45 Der er 2 kommentarer og
1 løsning

Operation is not allowed when the object is closed.

Hej

Får nogle gange denne fejlbesked:
"Operation is not allowed when the object is closed."

Fejlen forekommer i: "rs.MoveNext"

Hjælp! :)

_______________________________________

<%
if not Request.Cookies("emailSent") = "true" then

    Set myConn=Server.CreateObject("ADODB.Connection")
    myConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/midb.mdb"))
    strSQL="select * FROM search"
    set rs = myConn.execute(strSQL)

    Set myConn2=Server.CreateObject("ADODB.Connection")
    myConn2.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/mindb2.mdb"))           

    do while not rs.EOF
        if rs("email_sent") = "false" and rs("datopublish") <= Date() then
           
            strSQL2="select * FROM users WHERE id = " & rs("bruger_id")
            set rs2 = myConn2.execute(strSQL2)
                       
            if not rs.EOF then
                Set JMail          = Server.CreateObject("JMail.SMTPMail")
                JMail.ServerAddress = "XXXXXXXXXXXX"
                  JMail.Sender        = Session("email")
                  JMail.Subject      = "XXXXXXXXX - " & rs("url_title") & " (" & rs("linkType") & ")"
                  JMail.AddRecipient       rs2("email")
                  JMail.Priority      = 3
                  JMail.AddHeader      "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
                  JMail.Body             = "Hej " & rs2("navn") & vbcrlf & vbcrlf & "Til orientering er din henvisning netop blevet offentliggjort på vores forside. Held og lykke med den. Vi håber, at du vil oprette flere spændende henvisninger." & vbcrlf & vbcrlf & "Hilsen" & vbcrlf & Session("navn")
                  JMail.Execute     
                  Set JMail = Nothing

                  strSQL="update search SET email_sent = 'true' WHERE url_id = " & rs("url_id")
                set rs = myConn.execute(strSQL)
                besked = besked & rs2("navn") & " - "
              end if
        end if

        rs.MoveNext
    Loop
   
    myConn.close
    myConn2.close
   
    Response.Cookies("emailSent") = "true"
    Response.Cookies("emailSent").expires = Date + 1

    if besked = "" then
        besked = "Der var ingen at orientere om, at deres oprettede henvisning(er) i dag er blevet offentliggjort på vores forside."
    else
        besked = besked & " er blevet orienteret om, at deres oprettede henvisning(er) i dag er blevet offentliggjort på vores forside."
    end if
'else
    'besked = "Orienteringen af dem, som i dag har fået offentliggjort deres henvisninger på vores forside, har allerede fundet sted for i dag."
end if
%>
Avatar billede eagleeye Praktikant
15. april 2003 - 22:48 #1
Du bruger det samme recordset to gange det er rs... Først er det dit hoved loop og så bruger du rs når du opdater search tabllen her:

                  strSQL="update search SET email_sent = 'true' WHERE url_id = " & rs("url_id")
                set rs = myConn.execute(strSQL)  '<---- Her overskrives rs


Det er ikke nødvendigt at bruge et rs til det. Så det ret den til:


                  strSQL="update search SET email_sent = 'true' WHERE url_id = " & rs("url_id")
                myConn.execute(strSQL)
Avatar billede eagleeye Praktikant
15. april 2003 - 22:50 #2
Lige ledes tjekker du på forkert rs.EOF når mailen skal sendes, i disse linjer hvis det skal give mening skal det være rs2.EOF:


            strSQL2="select * FROM users WHERE id = " & rs("bruger_id")
            set rs2 = myConn2.execute(strSQL2)
                       
            if not rs.EOF then
                Set JMail          = Server.CreateObject("JMail.SMTPMail")



Sådan her:

            strSQL2="select * FROM users WHERE id = " & rs("bruger_id")
            set rs2 = myConn2.execute(strSQL2)
                       
            if not rs2.EOF then
                Set JMail          = Server.CreateObject("JMail.SMTPMail")
Avatar billede axkris Nybegynder
15. april 2003 - 22:54 #3
Godt set - det ser ud til at virke. Jeg vender tilbage når jeg har testet det hele.... men mange tak for hjælpen :-)
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