Avatar billede dueholm Praktikant
21. november 2002 - 12:07 Der er 3 kommentarer og
1 løsning

Hvad betyder denne fejl og hvordan rettes den: ADODB.Field...

Jeg er ved at lave noget afstemning, i asp og jeg benytter javascript men jeg får flg. fejl:
**************
Fejltype:
ADODB.Field (0x800A0D5C)
Objektet er ikke længere gyldigt.
**************

Af en eller anden grund er det kun nogle gange fejlen kommer!
Hvis jeg opdaterer(loader) asp-siden så er det ca hver 3. gang at den er gal. Når den så først har lavet en fejl så kommer fejlen efter endnu en opdatering(loader). Men efter en 3. opdatering(load) så kommer den fint igen!?!

Min kode ser ud som flg:
**************
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!-- #include file="dbforbind.asp" -->
<%
    var res = Request.Form("valgAfFarver");
    Response.Write("Der er stemt på mulighed nummer:"+res+"<br>");
   
    //Forbinder til DB
    var connect = forbind();
   
    //Lægger 1 til stemmeantallet for det valgte alternativ
    var onStem = connect.Execute("UPDATE Alternativer SET Stemmer= Stemmer+1 WHERE Alternativ = "+res);
   
    //Finder det ANTAL alternativer der er at vælge imellem
    var onStem1 = connect.Execute("SELECT COUNT(*) AS alternativer FROM Alternativer WHERE Undersoegelse = 1");

    //Response.Write(antal)
    var alt = new Array(onStem1("alternativer"));
    var vote = new Array(onStem1("alternativer"));
    var ialt = 0;
   
    for(var i=0; i<onStem1("alternativer"); i++)
    {
        //Finder de FARVER der kan stemmes om
        onStem2 = connect.Execute("SELECT Valg FROM Alternativer WHERE Alternativ =" +(i+1));
        alt[i] = onStem2("Valg");
       
        onStem3 = connect.Execute("SELECT Stemmer FROM Alternativer WHERE Alternativ =" +(i+1));
        vote[i] = onStem3("Stemmer");
        ialt = ialt + onStem3("Stemmer");
    }       

    //Finder BESKRIVELSEN af undersøgelsen
    var onStem4 = connect.Execute("SELECT Beskrivelse FROM Undersoegelse WHERE Id = 1");
%>
<html>
<head>
<title>Afstemning</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<!-- <p>Hejsa! Velkommen til modtager-siden:</p> -->
<p>Her ses resultatet fra afstemning om:
<%=onStem4("Beskrivelse")%></p>
<!-- <div align="left"><table border="0"><tr> -->
<%
for(var k = 0; k < onStem1("alternativer"); k++)
{   
    Response.Write("<br>For-løkken siger:"+k)
    var procent=0;
    Response.Write("<br>Stemmeantal="+vote[k]);
    Response.Write("<br>Stemmer i alt="+ialt);
    procent = 100/ialt*vote[k];
    Response.Write("<br>Procent="+Math.round(procent)+"<br>")
}
%>
</tr></table></div>
<% connect.Close();
connect = null;
%>
</body>
</html>
**************
(Det er nok nemmest at copy/paste koden..... :o))

Er der nogen der har en forklaring/løsning på problemet?

MVH
Kasper
Avatar billede dueholm Praktikant
21. november 2002 - 13:03 #1
Ja ok!
Måske ville det være nemmere hvis I lige fik et hint til i hvilken linie fejlen kommer! Det er linien hvor der står:
procent = 100/ialt*vote[k];

Kasper
Avatar billede dueholm Praktikant
21. november 2002 - 13:12 #2
Der er et mønster i den række af fejl den laver!
Jeg har lige testet det og der kommer fejl med afgivelse af flg. stemmer:
2, 5, 6, 9
12, 15, 16, 19
22, 25, 26, 29
.....
52, 55, 56, 59
Avatar billede dueholm Praktikant
21. november 2002 - 16:41 #3
tja nu ved jeg alligevel ikke om der er et mønster!
Men hvis det kan hjælpe så betyder fejlen flg:
The object referenced by the application no longer points to a valid object.
Avatar billede dueholm Praktikant
26. november 2002 - 08:17 #4
Fejlen fundet!

*LUKKET*
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