20. februar 2005 - 21:36Der er
18 kommentarer og 1 løsning
Problem med udtræk ASP
Hejsa NG.
Her kommer lige lidt kode:
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open Application("Provider")
Sql = "SELECT Trailer.Titel, Trailer.Ext_link, Trailer.Dato, Trailer.trailer, TrailerDetail.* FROM TrailerDetail INNER JOIN Trailer ON TrailerDetail.Id = Trailer.Id WHERE Trailer.Id = " & intId
Set Rs = Conn.Execute(Sql)
<HTMLKODE>
sql2 = "SELECT gallerytitel.titel as galtitel, gallerytitel.id as galid FROM gallerytitel" Set Rs = Conn.Execute(Sql2) If galtitel = Request.QueryString("Titel") THEN Response.Write("<a href='gallery.asp?mode=gallery_show&id=" & rs.fields("galid") & "'>Se billedgalleri</a>" & vbcrlf )
Den første Select sætning viser en film ud fra et valg fra en liste.
Så har jeg lavet SELECT sætning nr. 2 hvor jeg gerne vil, den skal finde ud af, om der i tabellen "gallerytitel" er en titel der svarer til filmens titel.
Så langt så godt. Men SELECT nr2 spærrer for den første SELECT så rs("Omtale") kommer med fejlen "Item cannot be found in the collection corresponding to the requested name or ordinal."
Selve udtrækket med at se om der er en titel mangen til filmens titel virker fint. MEN. Den hiver ikke det rigtige ID ud fra gallerytitel, rs.fields("galid"), den får bare Id 1
Er det til at forstå og er der nogle gode forslag?
Brugte kun Set Rs2 = Conn.Execute(Sql2) / & rs2.fields("galid") Så virker det, men nu er der et andet problem.
Min: If galtitel = Request.QueryString("Titel") THEN
Virker slet ikke... Tror måske det er min Request.QueryString("Titel") filmens detaljer bliver jo hentet fra Request.QueryString("Id") (IntId)
Den finder slet ikke titel fra filmen og sammenligner den med en titel fra "gallerytitel" ? Det er også det samme ID fra gallerytitel der kommer. Nemlig 1
du kan også i din select vælge lige netop den record hvor galtitel er lig din querystring. Hvis den så retunerer noget så har du fat i den rigtige. Hvis den intet returnerer så er der ingen.
Nu har jeg lavet koden sådan: sql2 = "SELECT gallerytitel.titel as galtitel, gallerytitel.id as galid FROM gallerytitel" Set Rs2 = Conn.Execute(Sql2) Do While not rs.EOF If rs2.fields("galtitel") = rs1("Titel") THEN Response.Write(" <a class='link' href='gallery.asp?mode=gallery_show&id=" & rs2.fields("galid") & "'><font color='#1E4D64'>»</font> Billedgalleri</a>" & vbcrlf )
Else Response.Write "" End If rs.movenext loop
Der sker intet mellem Do og Loop. Den kan heller ikke skrive titlen ud fra filmen med rs1("Titel")
det jeg mente med det andet var at du kunne lave din sql om til noget ala følgende: sql2 = "SELECT gallerytitel.titel as galtitel, gallerytitel.id as galid FROM gallerytitel WHERE gallerytitel.titel = Request.QueryString("Titel")"
hehe ok...bare godt når det virker :o)... og svar samtidig :o)
Synes godt om
Ny brugerNybegynder
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.