Avatar billede plato Juniormester
20. februar 2005 - 21:36 Der 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 )
 
Else
    Response.Write ""
End If

Response.Write("<td align='left' class='content-bio-line-anmeld'>" & vbcrlf )
Response.Write("<br /><strong>Handling:</strong><br />" & rs.fields("Omtale") & "<br /><br />" & vbcrlf )
Response.Write("<table cellpadding='4' cellspacing='0' width='100%'>" & vbcrlf )

Det jeg vil:

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?
Avatar billede busschou Praktikant
20. februar 2005 - 21:39 #1
hvad med at kalde den ene for RS1 og den anden for RS2
Avatar billede plato Juniormester
20. februar 2005 - 21:41 #2
Prøver.
Avatar billede plato Juniormester
20. februar 2005 - 21:46 #3
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
Avatar billede busschou Praktikant
20. februar 2005 - 21:50 #4
hvor sætter du galtitel?
Avatar billede busschou Praktikant
20. februar 2005 - 21:51 #5
eller skulle det måske være RS2("galtitel") istedet?
Avatar billede busschou Praktikant
20. februar 2005 - 21:52 #6
my mistake ... kan vist lære at læse det hele
Avatar billede busschou Praktikant
20. februar 2005 - 21:55 #7
jeg kan ikke umiddelbart se det... andet end du må kunne udskrive og spore hvorvidt det er galtitel eller din querystring som fejler
Avatar billede plato Juniormester
20. februar 2005 - 21:57 #8
Vil prøve.

Har prøvet med:
If rs2.fields("galtitel") = rs("Titel") THEN
men det virker heller ikke.
Avatar billede plato Juniormester
20. februar 2005 - 21:59 #9
Har fundet ud af at galtitel bare tager den første (og det er ved alle) som er i tabellen gallerytitel Så det er den der er galt på den.

Kan bare ikke lige se hvorfor.....
Avatar billede plato Juniormester
20. februar 2005 - 22:00 #10
Skal den loop's for at finde den rigtige række i tabellen?
Avatar billede busschou Praktikant
20. februar 2005 - 22:01 #11
det er klart nok...du skal lave en løkke som løber dit recordset igennem
Avatar billede plato Juniormester
20. februar 2005 - 22:02 #12
Ach so...Vender tilbage :)
Avatar billede busschou Praktikant
20. februar 2005 - 22:08 #13
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.
Avatar billede plato Juniormester
20. februar 2005 - 22:10 #14
Det fik jeg ikke helt fat i.
Avatar billede plato Juniormester
20. februar 2005 - 22:14 #15
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("&nbsp;<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")
Avatar billede busschou Praktikant
20. februar 2005 - 22:16 #16
Rs2.EOF og Rs2.movenext
Avatar billede busschou Praktikant
20. februar 2005 - 22:18 #17
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")"
Avatar billede plato Juniormester
20. februar 2005 - 22:21 #18
Baaaah..... Det var jo lige Rs2.EOF der var galt. Det virker nu. :) Fremragende, sparer mig for en hel del arbejde. :)

Smid et svar mester.!
Avatar billede busschou Praktikant
20. februar 2005 - 22:23 #19
hehe ok...bare godt når det virker :o)... og svar samtidig :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester