Avatar billede plato Juniormester
16. maj 2007 - 09:47 Der er 12 kommentarer og
1 løsning

Kan ikke udskrive felt fra Db, ASP

Hejsa Eks.

I følgende kode kan jeg udskrive rsBioRead("Emne") der hvor <------ er, men ellers kan jeg ikke udskrive rsBioRead("emne") andre steder. Nogen der kan fortælle mig hvorfor?


<!--#Include file="topone.asp" -->
<%
Function fncTextChangeAnmeldRead(strTextAnmeldRead)
strTekstAnmeldRead = Trim(strTextAnmeldRead)
fncTextChangeAnmeldRead = Replace(strTekstAnmeldRead,"""","""")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"  "," &nbsp;")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,vbCrLf,"<br>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"[img]","<center><img src=""/pics/")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"[/img]",""" alt=""Pic""></center>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"","<i>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"
","</i>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"","<b>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"
","</b>")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"’","&#39;")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"–","-")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"•","&#42;")
fncTextChangeAnmeldRead = Replace(fncTextChangeAnmeldRead,"”","""")
End Function
Function fncTextChangeAnmeldNavi(strTextAnmeldNavi)
strTekstAnmeldNavi = Trim(strTextAnmeldNavi)
fncTextChangeAnmeldNavi = Replace(strTekstAnmeldNavi,"bio","biograf")
fncTextChangeAnmeldNavi = Replace(fncTextChangeAnmeldNavi,"dvd","DVD")
End Function
SQL = "SELECT * FROM forumindlaeg WHERE id LIKE '" & Request.QueryString("id") & "'"
Set rsBioRead = Conn.Execute(SQL)
Response.Write(""&rsBioRead("emne")&"")%>  <-------------------
<title>Anmeldelser: <%=rsBioRead("emne")%></title>
<!--#Include file="toptwo.asp" -->anmeldelser<img src="grafik/naviarrow.gif" alt=""><%=rsBioRead("anmeldtype")%><img src="grafik/naviarrow.gif" alt=""><%=rsBioRead("emne")%>
<!--#Include file="topthree.asp" -->
<a name="GotoTop"></a>
<table cellpadding="0" cellspacing="0" width="698">
<tr>
<td align="left" height="25" valign="top"><form method="POST" action="search.asp?mode=anmeld_search"><input name="anmeld_search" type="text" class="FormSearch" value="Søg efter anmeldelse..." onClick="this.value='';"> <input name="Action" type="image" src="grafik/soegknap.gif" align="absbottom"></form><br><a class="Guide" href="java script:history.go(-1)"><img src="grafik/goback.gif" border="0" alt="Tilbage"> Gå tilbage</a></td>
<td align="left" height="25" valign="top">
<%sql7 = "SELECT * FROM Trailer WHERE titel = '"&rsBioRead("emne")&"'"
Set Rs7 = Conn.Execute(Sql7)
If rs7.EOF OR rs7.BOF THEN
Response.Write("")
else
Response.Write("<a class='Guide' href='redirect.asp?mode=movie&amp;Id=" & rs7("id") & "'><img src='grafik/filmen.gif' border='0' alt='Se filmdetaljer'> Se filmdetaljer</a>" & vbcrlf )
End If

rs7.Close
set rs7 = nothing
Response.Write("<br>")
sql3 = "SELECT * FROM poster WHERE titel = '"&rsBioRead("emne")&"'"
Set Rs3 = Conn.Execute(Sql3)
If rs3.EOF OR rs3.BOF THEN
Response.Write("")
else
Response.Write("<a class='Guide' href='poster.asp?mode=view&amp;id=" & rs3("id") & "'><img src='grafik/seplakat.gif' border='0' alt='Se plakat'> Se plakat</a>" & vbcrlf )
End If
rs3.Close
set rs3 = nothing
%></td>
<td align="left" height="25" valign="top">
<%Response.Write("<br>")
If Session("login") = True AND Session("Tekst") = "Allowed" Then
Response.Write("<a class='Guide' href='admin.asp?mode=StepOne&id=" & rsBioRead("Id") & "'><img src='grafik/correct.gif' border='0' alt='Ret film'> Ret anmeldelse</a>")
Else
Response.Write("")
end if%>
</td>
</tr>
</table>
Avatar billede michael_stim Ekspert
16. maj 2007 - 09:52 #1
Nu er jeg ikke helt inde i ASP, er hundrede år siden jeg sad med det. Men tror nok jeg har haft samme problem hvor jeg löste det med at deklarere variabelen:
var emne 'eller hvordan det nu er man initiere en variabel
emne=rsBioRead("Emne")
Avatar billede plato Juniormester
16. maj 2007 - 09:58 #2
Ja, det har jeg prøvet. Det hjælper heller ikke.

Og jeg fatter det ikke. Meget af min ASP-kode virker ikke fordi jeg har flyttet server fra Cliche.dk til Netsite.dk.

Det føles som at være på bare ben, fordi jeg ikke ved nok om ASP.
Avatar billede michael_stim Ekspert
16. maj 2007 - 10:00 #3
Hvad sker der hvis du skriver response.write istedet for =
Avatar billede plato Juniormester
16. maj 2007 - 10:03 #4
Ja, det virker hvis jeg indsætter variabler

emne = rsBioRead("emne")

Og så udskriver det med:
<%Response.Write emne%>

Men hvorfor?
Avatar billede michael_stim Ekspert
16. maj 2007 - 10:05 #5
Uha, der er jeg ikke nok indsat i ASP til at kunne forklare det. Men i PHP kan man disable muligheden at udskrive med = istedet for echo.
Avatar billede erikjacobsen Ekspert
16. maj 2007 - 10:11 #6
Det er en sød lille sag - en klassiker, der har givet masser af frustrationer ;)

Med nogle databasedrivere og nogle felttyper (vi springer detaljerne over) kan man kun aflæse felterne i et recordset i den rækkefølge de optræder i "SELECT felt1,felt2 FROM", og kun een gang. Hvis man overholder der regel vil det altid virke. Derfor kan man gøre det til en regel at programmere således:

  Set rs = Conn.Execute("SELECT felt1,felt2 FROM ....")
  felt1 = rs("felt1")
  felt2 = rs("felt2")

og efterfølgende ikke bruge rs-variablen. Så tror jeg også man bliver i bedre humør :)
Avatar billede plato Juniormester
16. maj 2007 - 10:16 #7
Oki, jamen jeg må i gang... Suk. :-)
Avatar billede plato Juniormester
16. maj 2007 - 10:21 #8
Hvis I vil have lidt pts, så bare smid nogle snar. :-)
Avatar billede erikjacobsen Ekspert
16. maj 2007 - 10:24 #9
Jeg samler slet ikke på point, tak.

I den ideelle verden (og det er nok ikke lige gammeldags ASP), vil man læse en række ind i et objekt i et passende database-lag/-modul (eller en liste af objekter), og efterfølgende kun bruge det. At blande SQL, ASP-kode og HTML fuldstændig hæmningsløst, som du viser i koden her, giver kun problemer.

(Ja, man kan i ASP, men det er bøvlet, og hvorfor ikke hoppe over på nogle af de nye teknologier, hvor det er ligetil)
Avatar billede michael_stim Ekspert
16. maj 2007 - 10:27 #10
Samler heller ikke, ellers tak.
Avatar billede plato Juniormester
16. maj 2007 - 10:42 #11
erikjacobsen

Noget du kunne tænke dig at forklare nærmere?
Måske et eks. i hvordan du ville gøre ovenstående. For Cliche lukkede min side pga. af overbelastning af serveren. Så der er nok noget om det.
Avatar billede erikjacobsen Ekspert
16. maj 2007 - 10:49 #12
Nej, det er noget mere end jeg har tid til nu.
Avatar billede plato Juniormester
03. august 2007 - 13:11 #13
Lukket.
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