/ 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 system efter det er lagt på we~
Fra : sandra


Dato : 27-03-02 16:35

Hej NG,

Jeg har haft en del problemer med mit system efter jeg har lagt
det op på et webhotel.
Et af problemerne er, at jeg ca. hver anden gang jeg kører et
bestemt script går det godt hver anden gang går det dårligt og
jeg får fejlmeddelsen:

error '80020009'
Exception occurred.

Hvis jeg venter lidt og prøver igen virker det fint, men det er
lidt irreterende.

Koden <%@Language=VBScript%>

<!Rammen omkring teksten>
<DIV STYLE="position:absolute; top:60; left:0; width:500;
heigth:20; background:lavender; margin-top:100; margin-left:150;
margin-right:30">
<P CLASS=bluetext>

<%
'Åbner forbindelse til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("db/VDB.mdb")
Conn.Open DSN
%>

<!form der indsætter, de udvalgt fra søgeresultatet, ind i
databasen>
<form method="post" action="res003.asp">
<%

response.write "<font COLOR=mediumblue face=verdana size=2><b>Du
vil reservere følgende: <br><br></b>"

dim strFilms 'strFilms erklæres som array
strFilms = request.form("resFilm") 'henter titlerne der er
tjekket af i checkboxene fra "resFilm" som er erklæret i
"funktionalitet.asp" og sættes ind i array'et strFilms
dim arFilms 'arFilms erklæres som array
dim i
arFilms = split(strFilms,", ") 'split bruges til at opdele
strengen strFilms som jo er outputtet fra formen resFilms op i
arrayet de rigtige steder
for i = 0 to ubound(arFilms) ' fra nul til den største værdi af
arFilms

'Vælger alle fra varetabellen hvor titlen er som brugeren har
krydset af
strSQL = "SELECT * FROM Sortiment WHERE Titel ='" & arFilms(i) &
"'"
set rs=Conn.Execute(strSQL)

'Vælger fra Butik hvor butiksnavnet er den filial brugeren har
valgt
SQL = "SELECT * FROM Butik WHERE Butiksnavn='" &
Session("filial") &"'"
Set tr=Conn.Execute(SQL)

'Bruger SQL og strSQL til at søge i den valgte filials varer
P = "SELECT EksemplarNr FROM " & tr("ButiksID") & " WHERE VareID=
'" & rs("VareID") & "'" ' AND Hjemme=True"
set pt=Conn.Execute(P)


if rs("Titel")="MovieBox" or rs("Titel")="Playstation konsul 1"
or rs("Titel")="Playstation konsul 1" then
response.write arFilms(i)

else

response.write arFilms(i) & " på " & rs("format") & "<br>"

end if

'Sætter de valgte film ind i en reservationsliste der indeholder
varenavn, eksemplarnr, pris, lejeperiode og kundenummeret
Conn.Execute "INSERT INTO Reservationsliste ( Varenavn,
EksemplarNr, Pris, Lejeperiode) VALUES ('" & arFilms(i) & " på "
& rs("Format") & "','" & pt("EksemplarNr") & "','" & rs("Pris") &
"','" & rs("Lejeperiode") & "')"
Conn.Execute "UPDATE Reservationsliste SET Kundenummer= '" &
Session("login") & "' WHERE Varenavn = '" & arFilms(i) & " på " &
rs("Format") & "'"
'Conn.Execute "UPDATE " & tr("ButiksID") & " SET Hjemme='false'
AND Reserveret=true WHERE VareID='" & pt("VareID") &"' AND
EksemplarNr='" & pt("EksemplarNr") & "'"

response.write "<p align=right><font COLOR=mediumblue
face=verdana size=2>Filial:" & session("filial") & "</font></p>"

next

%>

<p align=right><input type="submit" name="Indsaet" value="Overfør
til reservationsliste"></p>

</form> <!Afslutter formen>
</div> <!Afslutter rammen>

<%

'lukker forbindelsen til databasen
Conn.Close: set conn = Nothing

%>

fejlmeddelsen kommer på linie 56, der er


   Conn.Execute "INSERT INTO Reservationsliste (Kundenummer,
Varenavn, EksemplarNr, Pris, Lejeperiode) VALUES ('" &
session("login")& "','" & arFilms(i) & " på " & rs("Format") &
"','" & pt("EksemplarNr") & "','" & rs("Pris") & "','" &
rs("Lejeperiode") & "')"

Er der en hjælpene sjæl der ved hvad der kan være galt?

Tusind tak..=)

Sandra

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
sandra (27-03-2002)
Kommentar
Fra : sandra


Dato : 27-03-02 17:03

sandra wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej NG,
>
> Jeg har haft en del problemer med mit system efter jeg har lagt
> det op på et webhotel.
> Et af problemerne er, at jeg ca. hver anden gang jeg kører et
> bestemt script går det godt hver anden gang går det dårligt og
> jeg får fejlmeddelsen:
>
> error '80020009'
> Exception occurred.
>
> Hvis jeg venter lidt og prøver igen virker det fint, men det er
> lidt irreterende.
>
> Koden <%@Language=VBScript%>
>
> <!Rammen omkring teksten>
> <DIV STYLE="position:absolute; top:60; left:0; width:500;
> heigth:20; background:lavender; margin-top:100; margin-left:150;
> margin-right:30">
> <P CLASS=bluetext>
>
> <%
&gt; 'Åbner forbindelse til databasen
&gt; Set Conn = Server.CreateObject("ADODB.Connection")
&gt; DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &
&gt; Server.MapPath("db/VDB.mdb")
&gt; Conn.Open DSN
&gt; %>
>
> <!form der indsætter, de udvalgt fra søgeresultatet, ind i
> databasen>
> <form method="post" action="res003.asp">
> <%
&gt;
&gt; response.write "<font COLOR=mediumblue face=verdana
size=2><b>Du
&gt; vil reservere følgende: <br><br></b>"
&gt;
&gt; dim strFilms 'strFilms erklæres som array
&gt; strFilms = request.form("resFilm") 'henter titlerne der er
&gt; tjekket af i checkboxene fra "resFilm" som er erklæret i
&gt; "funktionalitet.asp" og sættes ind i array'et strFilms
&gt; dim arFilms 'arFilms erklæres som array
&gt; dim i
&gt; arFilms = split(strFilms,", ") 'split bruges til at opdele
&gt; strengen strFilms som jo er outputtet fra formen resFilms op i
&gt; arrayet de rigtige steder
&gt; for i = 0 to ubound(arFilms) ' fra nul til den største værdi af
&gt; arFilms
&gt;
&gt; 'Vælger alle fra varetabellen hvor titlen er som brugeren har
&gt; krydset af
&gt; strSQL = "SELECT * FROM Sortiment WHERE Titel ='" & arFilms(i)
&
&gt; "'"
&gt; set rs=Conn.Execute(strSQL)
&gt;
&gt; 'Vælger fra Butik hvor butiksnavnet er den filial brugeren har
&gt; valgt
&gt; SQL = "SELECT * FROM Butik WHERE Butiksnavn='" &
&gt; Session("filial") &"'"
&gt; Set tr=Conn.Execute(SQL)
&gt;
&gt; 'Bruger SQL og strSQL til at søge i den valgte filials varer
&gt; P = "SELECT EksemplarNr FROM " & tr("ButiksID") & " WHERE
VareID=
&gt; '" & rs("VareID") & "'" ' AND Hjemme=True"
&gt; set pt=Conn.Execute(P)
&gt;
&gt;
&gt; if rs("Titel")="MovieBox" or rs("Titel")="Playstation konsul 1"
&gt; or rs("Titel")="Playstation konsul 1" then
&gt; response.write arFilms(i)
&gt;
&gt; else
&gt;
&gt; response.write arFilms(i) & " på " & rs("format") & "<br>"
&gt;
&gt; end if
&gt;
&gt; 'Sætter de valgte film ind i en reservationsliste der
indeholder
&gt; varenavn, eksemplarnr, pris, lejeperiode og kundenummeret
&gt; Conn.Execute "INSERT INTO Reservationsliste ( Varenavn,
&gt; EksemplarNr, Pris, Lejeperiode) VALUES ('" & arFilms(i) & " på
"
&gt; & rs("Format") & "','" & pt("EksemplarNr") & "','" & rs("Pris")
&
&gt; "','" & rs("Lejeperiode") & "')"
&gt; Conn.Execute "UPDATE Reservationsliste SET Kundenummer= '" &
&gt; Session("login") & "' WHERE Varenavn = '" & arFilms(i) & " på "
&
&gt; rs("Format") & "'"
&gt; 'Conn.Execute "UPDATE " & tr("ButiksID") & " SET Hjemme='false'
&gt; AND Reserveret=true WHERE VareID='" & pt("VareID") &"' AND
&gt; EksemplarNr='" & pt("EksemplarNr") & "'"
&gt;
&gt; response.write "<p align=right><font COLOR=mediumblue
&gt; face=verdana size=2>Filial:" & session("filial") &
"</font></p>"
&gt;
&gt; next
&gt;
&gt; %>
>
> <p align=right><input type="submit" name="Indsaet" value="Overfør
> til reservationsliste"></p>
>
> </form> <!Afslutter formen>
> </div> <!Afslutter rammen>
>
> <%
&gt;
&gt; 'lukker forbindelsen til databasen
&gt; Conn.Close: set conn = Nothing
&gt;
&gt; %>
>
> fejlmeddelsen kommer på linie 56, der er
>
>
>    Conn.Execute "INSERT INTO Reservationsliste (Kundenummer,
> Varenavn, EksemplarNr, Pris, Lejeperiode) VALUES ('" &
> session("login")& "','" & arFilms(i) & " på " & rs("Format") &
> "','" & pt("EksemplarNr") & "','" & rs("Pris") & "','" &
> rs("Lejeperiode") & "')"
>
> Er der en hjælpene sjæl der ved hvad der kan være galt?
>
> Tusind tak..=)
>
> Sandra
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (27-03-2002)
Kommentar
Fra : Jørn Andersen


Dato : 27-03-02 17:28

On Wed, 27 Mar 2002 15:34:44 +0000 (UTC), sandra
<studiner2002@yahoo.dk> wrote:

>Jeg har haft en del problemer med mit system efter jeg har lagt
>det op på et webhotel.
>Et af problemerne er, at jeg ca. hver anden gang jeg kører et
>bestemt script går det godt hver anden gang går det dårligt og
>jeg får fejlmeddelsen:
>
>error '80020009'
>Exception occurred.

Ifølge:
<URL: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q253779>

80020009 Exception Occurred
This is a generic error message that only indicates that the
connection to the database failed.

Og mit gæt er, at du har for mange connections åbne samtidigt -
hvilket bekræftes af:

>Hvis jeg venter lidt og prøver igen virker det fint, men det er
>lidt irreterende.

Dels har du en fejl til slut, og dels arbejder du så vidt jeg kan se
med lidt mange recordsets samtidigt. Det sidste burde selvfølgelig
kunne lade sig gøre, men det kræver, at man har helt styr på cursor,
lock og hvad det nu altsammmen hedder.
Prøv at rette fejlen nederst og se om det er nok. Ellers prøv at gemme
resultaterne af dit recordset i variable og så lukke recordsettet,
inden du åbner nye. Brug evt. getrows-metoden til at gemme i et array,
så frigør du databasen hurtigere, men kan stadig tilgå dine data på en
fornuftig måde.

<SNIP>

><!form der indsætter, de udvalgt fra søgeresultatet, ind i
>databasen>
- forkert kommentar-format - dog uden betydning for din fejl :)

>'lukker forbindelsen til databasen
>Conn.Close: set conn = Nothing

Skal være:
Conn.Close
Set Conn = Nothing

Og faktisk bør du også lukke og slukke dine recordsets, så snart det
er muligt (på samme måde som med Conn).


Good luck,
Jørn


--
Jørn Andersen,
Brønshøj

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

Månedens bedste
Årets bedste
Sidste års bedste