/ 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
IF - sætning
Fra : Jacob ..


Dato : 11-01-04 12:40

Hvordan laver jeg en IF sætning ala:

IF rs("a") = "1" Then
Response.write "A=1"
Else
"Hop-til-enden-af-scriptet-uden-at-afvikle-resten-af-scriptet"
End if

...Jacob



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

 
 
Torben Brandt (11-01-2004)
Kommentar
Fra : Torben Brandt


Dato : 11-01-04 13:33

Jacob .. skrev:
> Hvordan laver jeg en IF sætning ala:
>
> IF rs("a") = "1" Then
> Response.write "A=1"
> Else
> "Hop-til-enden-af-scriptet-uden-at-afvikle-resten-af-scriptet"
> End if

Hvis du skriver
Response.End
så stopper afviklingen af resten af scriptet med det samme.

/Torben


Jacob .. (11-01-2004)
Kommentar
Fra : Jacob ..


Dato : 11-01-04 14:07

> Response.End
> så stopper afviklingen af resten af scriptet med det samme.

Problemet er, at jeg har noget HTML-kode *efter* asp-scriptet som så
ikke vil blive afhviklet.

Se her:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
Conn.Open DSN

strSQL = "Select * From tblRygte WHERE PersonNavnID = "
&Request.Querystring("ID")& " ORDER BY OprettetDato"

Set rs = Conn.Execute(strSQL)

If Not rs.EOF Then
Else
response.write "Ingen indlæg!"
response.end
End If

Do
strNavn = rs("KOverskrift")
strDato = rs("OprettetDato")

strLink = "<a href='RygteView.asp?id=" & rs("RID") & "'>" &
strNavn & "</a>"%>
</tr>


<tr>
<td width="49%"><font face="Tahoma"
size="2"><b><%Response.Write "" & strLink & ""%></b></font></td>
<td width="14%"><font face="Tahoma" size="2"
color="#000000"><%Response.Write "" & strDato & ""%></font></td>
<td width="13%"><font face="Tahoma"
size="2"><b></b></font></td>
<td width="25%"><font face="Tahoma"
size="2"><%Response.Write "50/50"%></font></td>

<% rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
</tr>
</table>
</td>
</tr>
</table>
</td>
</table>

</td>
<td width="15%" valign="top">
<table border="0" width="100%" cellspacing="0"
cellpadding="0">
<tr>
<td width="100%" valign="top"><!--#include
file="../Includes/New.asp"--></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>

</html>

IF sætninegn checker om der er nogle records i recordsettet og
responer.writer "Ingen indlæg!" hvis der ikke er - dette for at undgå
asp-fejlen "Either BOF or EOF is True or..." ...

Hvis der er records i, fortsætter den med scriptet og afslutter.

Nogen forslag til hvordan jeg ellers klarer den?

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

Torben Brandt (11-01-2004)
Kommentar
Fra : Torben Brandt


Dato : 11-01-04 15:16

Jacob .. skrev:
>> Response.End
>>så stopper afviklingen af resten af scriptet med det samme.
>
> Problemet er, at jeg har noget HTML-kode *efter* asp-scriptet som så
> ikke vil blive afhviklet.

Det kode, der så kun skal afvikles nogen gange, skal så sættes ind i en
If-sætning. Se herunder

> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
> Conn.Open DSN
>
> strSQL = "Select * From tblRygte WHERE PersonNavnID = "
> &Request.Querystring("ID")& " ORDER BY OprettetDato"
>
> Set rs = Conn.Execute(strSQL)
>
> If Not rs.EOF Then

> Else
> response.write "Ingen indlæg!"
> response.end
> End If

De fire linier herover skal flyttes.
Se nedenunder...

> Do
> strNavn = rs("KOverskrift")
> strDato = rs("OprettetDato")
>
> strLink = "<a href='RygteView.asp?id=" & rs("RID") & "'>" &
> strNavn & "</a>"%>
> </tr>
>
>
> <tr>
> <td width="49%"><font face="Tahoma"
> size="2"><b><%Response.Write "" & strLink & ""%></b></font></td>
> <td width="14%"><font face="Tahoma" size="2"
> color="#000000"><%Response.Write "" & strDato & ""%></font></td>
> <td width="13%"><font face="Tahoma"
> size="2"><b></b></font></td>
> <td width="25%"><font face="Tahoma"
> size="2"><%Response.Write "50/50"%></font></td>
>
> <% rs.MoveNext
> Loop While Not rs.EOF

Her skal de fire linier indsættes.

> Conn.Close
> Set Conn = Nothing
> %>


/Torben


Jens Gyldenkærne Cla~ (11-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-01-04 16:51

Jacob .. skrev:

> If Not rs.EOF Then

Mulighed 1: Fjern "Not", ryk Response.write op før Else og flyt End
If ned efter Do ... Loop-løkken.

> Do

[snip]

> Loop While Not rs.EOF

Mulighed 2 (som jeg vil anbefale):

Flyt betingelsen i din løkke (While Not rs.EOF) op til Do:

   Do While Not rs.EOF
   ...
   Loop

Så behøver du ikke at tjekke for EOF.
--
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

Jacob .. (12-01-2004)
Kommentar
Fra : Jacob ..


Dato : 12-01-04 12:12

Tak til jer begge.

Nu virker det.

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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste