Just nu i M3-nätverket
Jump to content

Undantag inträffade


mr Loco

Recommended Posts

Jag ska göra en topplista på min sida,

där titeln i listan ska bli en länk till filmen om

den finns i filmtabellen.

Men när jag kör den här frågan så kommer det upp "Undantag inträffade"

Vad är det som jag missat eller gjort fel?

 

<% Do until rs1.EOF%>

<% Set rs2 = db.Execute("SELECT * FROM tabell WHERE titel LIKE '"& rs1("titel") & "'")

if NOT rs1("titel") = rs2("titel") then %>

<%=rs1("titel")%>

<% else %>

<a href="las.asp?ID=<%=rs1("ID")%>"><%=rs1("titel")%></a>

<% end if

rs1.MoveNext

Loop

rs1.Close%>

 

MVH //Loco

 

Link to comment
Share on other sites

På vilken rad kommer det upp felmeddelande?

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Link to comment
Share on other sites

Jag hittade ingenting direkt fel som jag såg det, men jag har ändrat i koden till det som jag vill ha det till. Om det fungerar eller ej är en HELT annan femma, det kanske är värt ett försök om du har tid över iallafall. =)

 

<%
Set rs2 = db.Execute("SELECT * FROM tabell WHERE titel LIKE '"& rs1("titel") & "'")

Do until rs1.EOF
 if rs1("titel") <> rs2("titel") then 
  response.write(rs1("titel))
 else
%>
  <a href="las.asp?ID=<%=rs1("ID")%>"><%=rs1("titel")%></a>
<%
 end if 
rs1.MoveNext
Loop
rs1.Close
%>

 

Link to comment
Share on other sites

ska visst vara:

rs2("ID")

kanske inte gör någon skillnad.

 

 

rs1 ser ut såhär

SELECT * FROM listan ORDER BY plats"

 

när jag använder <> så hittar den fler filmer än de som finns på listan.. :/

 

Link to comment
Share on other sites

samt om jag använder = så hittar den endast den som ligger högst på listan.

 

den måste väl hitta nytt varje gång den loopar? därför jag lade den inom Do.

 

Link to comment
Share on other sites

Vad är det egentligen du är ute efter?

 

1. Den ska visa hela topplistan.

 

2. Den ska gå igenom varje film och kolla om det finns någon sådan film i tabellen tabell, om en sådan finns ska en länk stoppas ut på denna. Om det EJ finns någon sådan film ska bara filmens titel skrivas ut.

 

[inlägget ändrat 2002-12-27 15:34:06 av Sasja]

Link to comment
Share on other sites

den ska visa hela topplistan,

som ligger i en egen tabell.

med kolumnerna plats och titel

 

sen har vi en till tabell med de filmer som finns på sidan, innehållande bl.a. titel och ID.

 

hela listan ska visas och om en av de filmerna finns på sidan ska det bli en länk till den. annars ska bara titeln skrivas ut ja.

 

 

precis som du skrev.. hehe.

 

 

Link to comment
Share on other sites

Har grunnat på problemet nu ett tag i ett inferno av skällande hundar, skrikande barn och en radio mullrande i bakgrunden. Nåja, kanske inte riktigt så farligt. Testa följande och återkom med vad som inte fungerar. =)

 

<%
Set RS_toppen = db.Execute("SELECT * FROM listan ORDER BY plats")
Set RS_filmarkivet = db.Execute("SELECT * FROM tabell")
arkiverad = 0

Do until RS_toppen.EOF

Do until RS_filmarkivet.EOF

 if RS_toppen("titel") = RS_filmarkivet("titel") then
  arkiverad = 1
  %>
  <a href="las.asp?ID=<%=RS_filmarkivet("ID")%>"><%=RS_filmarkivet("titel")%></a><br>
  <%   
 end if
 RS_filmarkivet.MoveNext  

Loop 

if arkiverad = 0 then
 response.write(RS_toppen("titel") & "<br>")
end if
arkiverad = 0

RS_toppen.MoveNext

Loop


RS_toppen.Close
RS_filmarkivet.Close
%>

 

Link to comment
Share on other sites

hehe.. ojdå!! ;)

 

om den första titeln matchar så blir det en länk men ingen annan.

och om den inte matchar så blir ingen alls någon länk.. :/

 

[inlägget ändrat 2002-12-28 00:41:44 av mr Loco]

Link to comment
Share on other sites

Jasså?

 

Konstigt... jag tycker det ska stämma. De måsta matcha varandra exakt rätt, inte en bokstav eller mellanrum ifrån annars stämmer det inte.

 

Link to comment
Share on other sites

nu har jag denna kod:

 

<%

dim arkiverad

Set rs2 = db.Execute("SELECT * FROM arkivet")

arkiverad = 0

Do until RS1.EOF %>

<tr>

<td class="small">

<%Do until rs2.EOF

if rs1("titel") = rs2("titel") then

arkiverad = 1

%>

<%=rs1("plats")%>&nbsp;<a href="las.asp?ID=<%=rs2("ID")%>"><%=RS2("titel")%></a><br>

<%

end if

rs2.MoveNext

Loop

 

if arkiverad = 0 then

response.write(rs1("plats")&"&nbsp;"&rs1("titel") & "<br>")

end if

arkiverad = 0

 

RS1.MoveNext

Loop

RS1.Close

RS2.Close

%>

 

och skrivit in flera matchande titlar på listan förutom första platsen.. och ingen blir en länk.

 

Link to comment
Share on other sites

Stämmer titlarna EXAKT överens med varandra?

 

Jag hittar inga fel i min kod, förstår inte varför den inte fungerar. Jag får nästan lust att prova den själv snart om det inte löser sig. =)

 

Link to comment
Share on other sites

Nu fungerar det hemma hos mig och då ska det fungera hemma hos dig också, har gjort några små justeringar jämfört med min förra kod, Lycka Till nu och återkom gärna med resultatet! =)

 

<%
Set db = Server.CreateObject("Adodb.Connection")
db.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("test_film.mdb")
db.ConnectionString = "Data Source='" & MdbFilePath & "'"
db.Open
arkiverad = 0

Set RS_toppen = db.Execute("SELECT * FROM listan ORDER BY plats")
Set RS_filmarkivet = db.Execute("SELECT * FROM tabell")

Do until RS_toppen.EOF
Do until RS_filmarkivet.EOF

 if RS_toppen("titel") = RS_filmarkivet("titel") then
  arkiverad = 1
  %>
  <a href="las.asp?ID=<%=RS_filmarkivet("ID")%>"><%=RS_filmarkivet("titel")%></a>
<p><br>
  <%   
 end if
 RS_filmarkivet.MoveNext  

Loop 

if arkiverad = 0 then
 response.write(RS_toppen("titel") & "<br>")
end if
 arkiverad = 0
RS_toppen.MoveNext
RS_filmarkivet.MoveFirst
Loop


RS_toppen.Close
RS_filmarkivet.Close
%>

 

Skam den som ger sig! =)

[inlägget ändrat 2002-12-28 16:58:59 av Sasja]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...