/ 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
fejlmeddelse: exception occcurred
Fra : Pernille Bergman


Dato : 16-12-02 00:28

Hejsa,

Jeg bliver ved med at få fejlmeddelse som resultatet på mit
søgesystem, og jeg kan simpelthen ikke finde fejlen. Alt på siden
vises, men der hvor søgeresultatet skulle have været står der
"error '80020009'

Exception occurred.

/studiner/funktionalitet.asp, line 72
Er der en der gider kigge på det?

Input til søgningen kommer fra formen:
"<form method="post" action="funktionalitet.asp">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text"
name="SearchStr">
      <input type="submit" value="Søg">&nbsp;&nbsp;&nbsp;<img
src="Spørgsmålstegn.gif" alt="Indtast titel på den vare du ønsker
at reservere ">
</form>"

og funktionen ser således ud:

"<%

If qt("Hjemme")=false then
response.write "<font COLOR=mediumblue face=verdana
size=2><b>Der er desværre ikke flere " &Request.Form("search") &
" ledige i denne filial. Prøv eventuelt en anden
filial</b></font>"
response.write "<p><a href='res004.asp'>Ny Søgning</a></p>"
response.write "<p><a href='res002.asp'>Søg i anden
filial</a></p>"


    'Hvis den fandt noget der passede
else if rs.eof = False then
      Do

'Bruger SQL og strSQL til at søge i den valgte
filials varer og tælle op hvor mange der er hjemme
      P = "SELECT COUNT(*) AS myHome FROM " & tr("ButiksID") & "
WHERE VareID='" & rs("VareID") & "' AND Hjemme=true"
      set pt=Conn.Execute(P)
      antal_hjemme = pt("myHome")


      response.write "<table><tr><td width='10'><input
type='checkbox' name='resFilm' value='" & rs("Titel") &
"'></td><td width='200'><font COLOR=mediumblue face=verdana
size=2><b>Titel: </b>" & rs("Titel") & "</td><td
width='170'><font COLOR=mediumblue face=verdana size=2><b>Format:
</b>" & " " & rs("Format") & "</td><td width='190'><font
COLOR=mediumblue face=verdana size=2><b>Kategori: </b>" &
rs("Kategori") & "</td><td width='180'><font COLOR=mediumblue
face=verdana size=2><b>Antal hjemme: </b>" & antal_hjemme &
"</td><td width='150'><font COLOR=mediumblue face=verdana
size=2><b>Pris: </b>" & rs("Pris") & "kr.</td><td
width='200'><font COLOR=mediumblue face=verdana
size=2><b>Lejeperiode: </b>"& rs("Lejeperiode") &
"</td></tr></table>"
      response.write "<font COLOR=mediumblue
face=verdana>____________________________________________________
____________________________________</font>" & "<br>"

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




%>
"


På forhånd tak

Pernille


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

 
 
Jens Gyldenkærne Cla~ (16-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-12-02 01:39

Pernille Bergman skrev:

> Jeg bliver ved med at få fejlmeddelse som resultatet på mit
> søgesystem, og jeg kan simpelthen ikke finde fejlen. Alt på
> siden vises, men der hvor søgeresultatet skulle have været
> står der "error '80020009'
>
> Exception occurred.
>
> /studiner/funktionalitet.asp, line 72
> Er der en der gider kigge på det?

Det ville være en rigtig stor hjælp hvis du fortalte hvad der var
linje 72.

Se også: <http://www.asp-faq.dk/article/?id=41>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Pernille Bergman (16-12-2002)
Kommentar
Fra : Pernille Bergman


Dato : 16-12-02 01:56

nå ja forresten,

linie 72 er den første i formen,

"If qt("Hjemme")=false then "

Hilsen
Pernille


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

Jens Gyldenkærne Cla~ (16-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-12-02 02:29

Pernille Bergman skrev:

> "If qt("Hjemme")=false then "

Hvad ligger der i qt? (eller rettere - hvad skulle der ligge der?)

Hvis du ikke har noget asp-kode inden den linje er der noget helt
galt.

Jeg kan anbefale artiklen her:
<http://www.asp-faq.dk/article/?id=9> (om det smarte ved at erklære
sine variable).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Pernille Bergman (16-12-2002)
Kommentar
Fra : Pernille Bergman


Dato : 16-12-02 03:04

Tak fordi du gider at kigge på det. Jo der er kode før det: du kan
lige få hele det script her:

<html>
<head>
   <title>Søgeresultat</title>

</head>

<body>

   <!BBV´s logo, lavet som et link til deres officielle Hjemmeside>
   <p align=left><a href=http://www.blockbuster.dk>
src="overlogo_uden.jpg" border="0" alt="Klik her for at besøge
Blockbuster's hjemmeside"></a><br>
   
   <font COLOR=mediumblue face=verdana size=4>Resultat side
</font><br><br>

   <!Rammen omkring teksten>
   <DIV STYLE="position:absolute; top:80; left:0; width=850; heigth:30;
background:lavender; margin-top:100; margin-left:20;
margin-right:100">
   <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


If Request("SearchType") = "All" Then

SearchStrs = Split(Request.form("SearchStr"), " ")
For n = lBound(SearchStrs) To uBound(SearchStrs)
If Kriterier = "" Then
Kriterier = "WHERE Titel LIKE '%" & SearchStrs(n) & "%'"
Else
Kriterier = Kriterier & " AND Titel LIKE '%" & SearchStrs(n) & "%'"
End if
Next

ElseIf Request("SearchType") = "Any" Then
SearchStrs = Split(Request("SearchStr"), " ")
For n = lBound(SearchStrs) To uBound(SearchStrs)
If Kriterier = "" Then
Kriterier = "WHERE Titel LIKE '%" & SearchStrs(n) & "%'"
Else
Kriterier = Kriterier & " OR Titel LIKE '%" & SearchStrs(n) & "%'"
End If
Next
Else

Kriterier = "WHERE Titel LIKE '%" & Request("SearchStr") & "%'"
End If

SQL = "SELECT * FROM Sortiment " & Kriterier & " ORDER BY Titel"
set rs=conn.execute(SQL)

   If NOT rs.EOF Then


      '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)

      
strSql = "SELECT * FROM " & tr("ButiksID") & " WHERE
VareID='" & rs("VareID") & "'"
      set qt=Conn.Execute(strSql)

   End if

%>
   
   <!Form der udskriver søgeresultatet og erklærer resFilms>
   <form method=post action="filmRes.asp">
<%

'If qt("Hjemme")=false then
response.write "<font COLOR=mediumblue face=verdana size=2><b>Der
er desværre ikke flere " &Request.Form("search") & " ledige i denne
filial. Prøv eventuelt en anden filial</b></font>"
response.write "<p><a href='res004.asp'>Ny Søgning</a></p>"
response.write "<p><a href='res002.asp'>Søg i anden
filial</a></p>"


    'Hvis den fandt noget der passede
'else
if rs.eof = False then
      Do

'Bruger SQL og strSQL til at søge i den valgte
filials varer og tælle op hvor mange der er hjemme
      P = "SELECT COUNT(*) AS myHome FROM " & tr("ButiksID") & " WHERE
VareID='" & rs("VareID") & "' AND Hjemme=true"
      set pt=Conn.Execute(P)
      antal_hjemme = pt("myHome")


      response.write "<table><tr><td width='10'><input type='checkbox'
name='resFilm' value='" & rs("Titel") & "'></td><td
width='200'><font COLOR=mediumblue face=verdana size=2><b>Titel:
</b>" & rs("Titel") & "</td><td width='170'><font COLOR=mediumblue
face=verdana size=2><b>Format: </b>" & " " & rs("Format") & "</td><td
width='190'><font COLOR=mediumblue face=verdana size=2><b>Kategori:
</b>" & rs("Kategori") & "</td><td width='180'><font
COLOR=mediumblue face=verdana size=2><b>Antal hjemme: </b>" &
antal_hjemme & "</td><td width='150'><font COLOR=mediumblue
face=verdana size=2><b>Pris: </b>" & rs("Pris") & "kr.</td><td
width='200'><font COLOR=mediumblue face=verdana
size=2><b>Lejeperiode: </b>"& rs("Lejeperiode") &
"</td></tr></table>"
      response.write "<font COLOR=mediumblue
face=verdana>________________________________________________________
________________________________</font>" & "<br>"

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




%>
      <p align="right"><input type='submit' value="Resevér"></p>

   </form> <!Afslutter formen>
   </div>   <!Afslutter rammen>
   
<%
    'Ellers udskriv fejlmeddelse
    else

      Response.write "<font COLOR=mediumblue face=verdana
size=4>Søgningen gav intet resultat </font>"
      Response.write "<p><a href='res004.asp'>Ny Søgning</a></p>"
end if
end if

      Conn.Close
Set Conn = Nothing

%>


   </P>


</body>
</html>


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

Jens Gyldenkærne Cla~ (16-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-12-02 09:16

Pernille Bergman skrev:

> Tak fordi du gider at kigge på det. Jo der er kode før det: du
> kan lige få hele det script her:

En anden gang må du gerne selv selektere i den kode du sender. Det
er noget lettere at finde fejl hvis du klipper ikke-relevant kode
ud (i dette tilfælde er html-koden fx ligegyldig, fejlen ligger i
asp).


>    If NOT rs.EOF Then
[...]
> strSql = "SELECT * FROM " & tr("ButiksID") & "
> WHERE
> VareID='" & rs("VareID") & "'"

Er vareID et tal? I så fald skal der ikke anførselstegn omkring.

> set qt=Conn.Execute(strSql)
>
> End if

> 'If qt("Hjemme")=false then


Der er to logiske problemer her.
a) Hvis postsættet rs er tomt bliver qt slet ikke tildelt en værdi.
b) Du undersøger ikke om postsættet qt er tomt før du benytter det.

Begge dele kan give fejl.


> if rs.eof = False then
> Do

> Loop While Not rs.EOF
[...]
> end if

En lille stilkommentar. Ovenstående kan skrives kortere:

Do While Not rs.EOF
   ...
Loop

Hvis du har brug for if-løkken - fx til at udføre en del af koden
én gang er "If Not rs.EOF" det samme som "If rs.EOF = False" (der
er ikke noget galt med den måde du skriver på nu, det andet er bare
kortere og oftere anvendt).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste