/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med objekt: ADODB.Field (0x800A0D5~
Fra : Kasper Dueholm


Dato : 21-11-02 18:22

Hejsa!

Mit kode ser således ud:
******************************
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!-- #include file="dbforbind.asp" -->
<%
var res = Request.Form("valgAfFarver");
Response.Write("Der er stemt på mulighed nummer:"+res+"<br>");
var connect = forbind();

var onStem = connect.Execute("UPDATE Alternativer SET Stemmer= Stemmer+1
WHERE Alternativ = "+res);

var onStem1 = connect.Execute("SELECT COUNT(*) AS alternativer FROM
Alternativer WHERE Undersoegelse = 1");

var alt = new Array(onStem1("alternativer"));
var vote = new Array(onStem1("alternativer"));
var ialt=0;

for(var i=0; i<onStem1("alternativer"); i++)
{ Response.Write("<br>i-løkken siger:"+i+"<br>");
//Finder de FARVER der kan stemmes om
onStem2 = connect.Execute("SELECT Valg FROM Alternativer WHERE Alternativ ="
+(i+1));
alt = onStem2("Valg");

onStem3 = connect.Execute("SELECT Stemmer FROM Alternativer WHERE Alternativ
=" +(i+1));
vote[i] = onStem3("Stemmer");
ialt = ialt + onStem3("Stemmer");
Response.Write("<br>ialt+ialt::"+ialt+"<br>");
}

var onStem4 = connect.Execute("SELECT Beskrivelse FROM Undersoegelse WHERE
Id = 1");
var procent=0;
%>
<html>
<head>
<title>Afstemning</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p>Her ses resultatet fra afstemning om:
<%=onStem4("Beskrivelse")%></p>
<%
for(var k = 0; k < onStem1("alternativer"); k++)
{
Response.Write("<br>For-løkken siger:"+k)
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>
******************************

Jeg får flg fejl:

ADODB.Field (0x800A0D5C)
Objektet er ikke længere gyldigt.

Det er linjen med: procent = 100/ialt*vote[k];

der skaber fejlen...



Men det er tilfældigt hvornår fejlen opstår så jeg forstår det ikke helt!



Nogle ideer?

Kasper





 
 
Kasper Dueholm (23-11-2002)
Kommentar
Fra : Kasper Dueholm


Dato : 23-11-02 22:42

I have recieved the following message with the solution if anyone cares:
Hi
>
> When you access the recordset use:
> rs("FIELDNAME").Value;
> and the problems should go away
>
> Also when accessing formsfields
> Request.Form("FIELDNAME").Item;
>
> --
> Best Regards
> Vidar Petursson
> ==============================
> Microsoft Internet Client & Controls MVP
> ==============================

Thank you for this Vidar!

"Kasper Dueholm" <susjessen@hotmail.com> skrev i en meddelelse
news:arj4p5$1k7k$1@news.cybercity.dk...
> Hejsa!
>
> Mit kode ser således ud:
> ******************************
> <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
> <!-- #include file="dbforbind.asp" -->
> <%
> var res = Request.Form("valgAfFarver");
> Response.Write("Der er stemt på mulighed nummer:"+res+"<br>");
> var connect = forbind();
>
> var onStem = connect.Execute("UPDATE Alternativer SET Stemmer= Stemmer+1
> WHERE Alternativ = "+res);
>
> var onStem1 = connect.Execute("SELECT COUNT(*) AS alternativer FROM
> Alternativer WHERE Undersoegelse = 1");
>
> var alt = new Array(onStem1("alternativer"));
> var vote = new Array(onStem1("alternativer"));
> var ialt=0;
>
> for(var i=0; i<onStem1("alternativer"); i++)
> { Response.Write("<br>i-løkken siger:"+i+"<br>");
> //Finder de FARVER der kan stemmes om
> onStem2 = connect.Execute("SELECT Valg FROM Alternativer WHERE Alternativ
="
> +(i+1));
> alt = onStem2("Valg");
>
> onStem3 = connect.Execute("SELECT Stemmer FROM Alternativer WHERE
Alternativ
> =" +(i+1));
> vote[i] = onStem3("Stemmer");
> ialt = ialt + onStem3("Stemmer");
> Response.Write("<br>ialt+ialt::"+ialt+"<br>");
> }
>
> var onStem4 = connect.Execute("SELECT Beskrivelse FROM Undersoegelse WHERE
> Id = 1");
> var procent=0;
> %>
> <html>
> <head>
> <title>Afstemning</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> </head>
> <body>
> <p>Her ses resultatet fra afstemning om:
> <%=onStem4("Beskrivelse")%></p>
> <%
> for(var k = 0; k < onStem1("alternativer"); k++)
> {
> Response.Write("<br>For-løkken siger:"+k)
> 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>
> ******************************
>
> Jeg får flg fejl:
>
> ADODB.Field (0x800A0D5C)
> Objektet er ikke længere gyldigt.
>
> Det er linjen med: procent = 100/ialt*vote[k];
>
> der skaber fejlen...
>
>
>
> Men det er tilfældigt hvornår fejlen opstår så jeg forstår det ikke helt!
>
>
>
> Nogle ideer?
>
> Kasper
>
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste