/ 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
DB/ASP
Fra : Ditte


Dato : 08-11-02 12:46

Hej

Jeg bruger følgende asp kode for at hente data fra min db. Hvis der ikke er
noget data i min db hvordan får jeg så skrevet det på min side "f.eks. der
er ingen data".

Tak
D


----------------------------------------------------------------------------
----------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<Html>
<Body>

<center>
<table border="1">

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/klub.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select Klub, Billede, Kl From Sport s, Loeb l where s.sid=l.sid
and dato=date() order by Kl"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

' Udskriv værdien af kolonnen Tittel, Skuespillere, Spilletid
%>

<td width="150" align="center"><%Response.Write Left(rs("Kl"),5)%>
<img src='<%= rs("billede") %>'>
<%Response.Write rs("Klub")%></td>
<%
' Gå til næste Record i rs

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</table>
</center>

</Body>
</Html>



 
 
Jens Gyldenkærne Cla~ (08-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-11-02 12:55

Ditte skrev:

> Jeg bruger følgende asp kode for at hente data fra min db.
> Hvis der ikke er noget data i min db hvordan får jeg så
> skrevet det på min side "f.eks. der er ingen data".

Start med at kontrollere om postsættet er tomt. Hvis det er
udskriver du din tekst, ellers kører du løkken:


> Set rs = Conn.Execute(strSQL)

If rs.EOF Then
   ' Udskriv "der er ingen data" eller lignende

Else

' Hele den nuværende løkke

> ' Gennemløb Recordset (rs) med en løkke
> Do

> ' Gå til næste Record i rs

Her burde der vist stå rs.movenext. Ellers kommer du aldrig ud af
din løkke.

>
> ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
> Loop While Not rs.EOF

' Afslut if-sætningen:
End If


Du bør altid kontrollere om postsættet er tomt inden du begynder at
kalde data fra det - ellers risikerer du fejl.

Normalt vender man loop-løkken, så i stedet for at skrive

   Do
       ' løkkestof
   Loop While Not rs.EOF

kan du skrive

   Do while not rs.EOF
       ' løkkestof
   Loop

eller evt.

   While Not rs.EOF
       ' løkkestof
   Wend
   
Hvis du skal kontrollere EOF-status for at kunne skrive en "ingen
data"-tekst ud, betyder det dog ikke noget - bare din løkke kommer
ind i den del af if-sætningen der kun køres når der returneres
data.
--
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

AHR (08-11-2002)
Kommentar
Fra : AHR


Dato : 08-11-02 17:12

Mange tak.

Fejlen der skal udskrives, hvordan skal den se ud? Nedenstående giver nemlig
en fejl.

If rs.EOF Then Response.Write "test"

Else
...............................................

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns92C0836F158B8jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Ditte skrev:
>
> > Jeg bruger følgende asp kode for at hente data fra min db.
> > Hvis der ikke er noget data i min db hvordan får jeg så
> > skrevet det på min side "f.eks. der er ingen data".
>
> Start med at kontrollere om postsættet er tomt. Hvis det er
> udskriver du din tekst, ellers kører du løkken:
>
>
> > Set rs = Conn.Execute(strSQL)
>
> If rs.EOF Then
> ' Udskriv "der er ingen data" eller lignende
>
> Else
>
> ' Hele den nuværende løkke
>
> > ' Gennemløb Recordset (rs) med en løkke
> > Do
>
> > ' Gå til næste Record i rs
>
> Her burde der vist stå rs.movenext. Ellers kommer du aldrig ud af
> din løkke.
>
> >
> > ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
> > Loop While Not rs.EOF
>
> ' Afslut if-sætningen:
> End If
>
>
> Du bør altid kontrollere om postsættet er tomt inden du begynder at
> kalde data fra det - ellers risikerer du fejl.
>
> Normalt vender man loop-løkken, så i stedet for at skrive
>
> Do
> ' løkkestof
> Loop While Not rs.EOF
>
> kan du skrive
>
> Do while not rs.EOF
> ' løkkestof
> Loop
>
> eller evt.
>
> While Not rs.EOF
> ' løkkestof
> Wend
>
> Hvis du skal kontrollere EOF-status for at kunne skrive en "ingen
> data"-tekst ud, betyder det dog ikke noget - bare din løkke kommer
> ind i den del af if-sætningen der kun køres når der returneres
> data.
> --
> 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



Jakob Andersen (08-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-11-02 17:18

"AHR" <spamahr@mail.dk> wrote
> Fejlen der skal udskrives, hvordan skal den se ud? Nedenstående giver
nemlig
> en fejl.

Hvilken fejl giver det?


PS: <http://www.asp-faq.dk/article/?id=41>
--
Jakob Andersen




AHR (08-11-2002)
Kommentar
Fra : AHR


Dato : 08-11-02 17:41

Denne:

Error Type:
Microsoft VBScript compilation (0x800A03EA)
Syntax error
/test/framehoejre.asp, line 26, column 37
If rs.EOF Then Response.Write "test",

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:aqgo3k$sq$1@news.cybercity.dk...
> "AHR" <spamahr@mail.dk> wrote
> > Fejlen der skal udskrives, hvordan skal den se ud? Nedenstående giver
> nemlig
> > en fejl.
>
> Hvilken fejl giver det?
>
>
> PS: <http://www.asp-faq.dk/article/?id=41>
> --
> Jakob Andersen
>
>
>



Jens Gyldenkærne Cla~ (08-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-11-02 18:12

AHR skrev:

> Fejlen der skal udskrives, hvordan skal den se ud?
> Nedenstående giver nemlig en fejl.
>
> If rs.EOF Then Response.Write "test"

Sæt Response.write på sin egen linje:

If rs.EOF Then
   Response.Write "test"
Else
...

En If-sætning skal enten stå på en linje (så skal du rykke else
etc. op) eller også skal hver del stå på sin egen linje. De to
modeller kan ikke blandes.

NB: Kig lige på min signatur.
--
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

John H. (08-11-2002)
Kommentar
Fra : John H.


Dato : 08-11-02 12:57

On Fri, 8 Nov 2002 12:45:40 +0100, "Ditte" <xx@xx.xx> wrote:

>Hej
>
>Jeg bruger følgende asp kode for at hente data fra min db. Hvis der ikke er
>noget data i min db hvordan får jeg så skrevet det på min side "f.eks. der
>er ingen data".
>
Indsæt følgende:

if rs.EOF then
Response.write "Der er ingen data"
else
Do Until rs.EOF

Andreas Næsager (08-11-2002)
Kommentar
Fra : Andreas Næsager


Dato : 08-11-02 13:01

> Jeg bruger følgende asp kode for at hente data fra min db. Hvis der ikke
er
> noget data i min db hvordan får jeg så skrevet det på min side "f.eks. der
> er ingen data".

Alt afhængig af din felt type kan du checke for om feltet er tomt
ved at bruge IsEmpty(RS()) el. IsNull(RS())

--
Andreas Næsager




Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste