/ 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
Hvis der ikke er noget data at vise
Fra : David Trasbo


Dato : 08-06-05 10:40

Hej. I forbindelse med et andet indlæg er det blevet forklaret mig hvad man
gør ved siden, så den kan give besked om at der ikke er noget data at vise.
Men nu kan jeg ikke finde indlægget igen. Nogle der vil forklare mig hvad
man gør?

Jeg fik scriptet til læsning af data på HTML.dk men det blev fortalt mig at
det var sat uheldigt op, og at man skulle gøre sådan og sådan.

Jeg kan også huske at det var Jens Gyldenkærne Clausen der hjalp.

--
David Trasbo.
Vær en god Usenet bruger. Læs http://usenet.dk/netikette.



 
 
Tomasz Otap (08-06-2005)
Kommentar
Fra : Tomasz Otap


Dato : 08-06-05 10:47

David Trasbo proclaimed as follows:
> Hej. I forbindelse med et andet indlæg er det blevet forklaret mig hvad man
> gør ved siden, så den kan give besked om at der ikke er noget data at vise.
> Men nu kan jeg ikke finde indlægget igen. Nogle der vil forklare mig hvad
> man gør?
>
> Jeg fik scriptet til læsning af data på HTML.dk men det blev fortalt mig at
> det var sat uheldigt op, og at man skulle gøre sådan og sådan.
>
> Jeg kan også huske at det var Jens Gyldenkærne Clausen der hjalp.
>

Hvis din recordset kommer i variabel rs:

-----------

if rs.eof then
   ' Ingen resultater
   response.write "Ingen resultater"
else
   ' Resultater findes

   while not rs.eof
      ' Behandling af resultater kommer her
      
      
      ' Gå videre til næste resultat
      rs.movenext
   wend
end if

-----------

t

David Trasbo (08-06-2005)
Kommentar
Fra : David Trasbo


Dato : 08-06-05 11:33

> Hvis din recordset kommer i variabel rs:
>
> -----------
>
> if rs.eof then
> ' Ingen resultater
> response.write "Ingen resultater"
> else
> ' Resultater findes
>
> while not rs.eof
> ' Behandling af resultater kommer her
>
>
> ' Gå videre til næste resultat
> rs.movenext
> wend
> end if

Vil du prøve at sætte det ind i dette script:

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

' SQL forespørgsel
strSQL = "Select * From tblMessages Where Til = '" &_
Request.Querystring("name") & "'"

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

Response.Write "<p>Emne:&nbsp;" & rs("Emne") & "&nbsp;&nbsp;"
Response.Write "Afsender:&nbsp;" & rs("Afsender") & "</p>"
Response.Write "<p>Besked:&nbsp;" & rs("Besked") & "</p>"

%><a href="messagedelete.asp?id=<% Response.Write rs("Id")%>&name=<%
Response.Write Request.Querystring("name")%>">Slet</a>&nbsp;<a
href="newmessage1.asp?emne=Re: <% Response.write rs("Emne") %>&<%
Response.Write Request.Querystring %>" title="Besvar denne
besked">Besvar</a><hr /><%

' Gå til næste Record i rs
rs.MoveNext

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

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

--
David Trasbo.
Vær en god Usenet bruger. Læs <http://usenet.dk/netikette>.



Kasper Lindberg (08-06-2005)
Kommentar
Fra : Kasper Lindberg


Dato : 08-06-05 12:37

for at undgå fejl, hvis du henter et tomt recordset skal du gøre følgende

> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("qwertasdfgzxcvbm.mdb")
> Conn.Open DSN
>
> ' SQL forespørgsel
> strSQL = "Select * From tblMessages Where Til = '" &_
> Request.Querystring("name") & "'"
>
> ' Udfør forespørgsel (rs indeholder nu resultatet)
> Set rs = Conn.Execute(strSQL)
>
> ' Gennemløb Recordset (rs) med en løkke


Do While Not rs.EOF
'har indsat While Not rs.EOF

>
> ' Udskriv værdien af kolonnen Fornavn
>
> Response.Write "<p>Emne:&nbsp;" & rs("Emne") & "&nbsp;&nbsp;"
> Response.Write "Afsender:&nbsp;" & rs("Afsender") & "</p>"
> Response.Write "<p>Besked:&nbsp;" & rs("Besked") & "</p>"
>
> %><a href="messagedelete.asp?id=<% Response.Write rs("Id")%>&name=<%
> Response.Write Request.Querystring("name")%>">Slet</a>&nbsp;<a
> href="newmessage1.asp?emne=Re: <% Response.write rs("Emne") %>&<%
> Response.Write Request.Querystring %>" title="Besvar denne
> besked">Besvar</a><hr /><%
>
> ' Gå til næste Record i rs
> rs.MoveNext
>
> ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)


> Loop
' har fjernet "While Not rs.EOF"


>
> ' Luk databaseforbindelse
> Conn.Close
> Set Conn = Nothing
> %>
>

tjek altid om rs.eof før du prøver på at hente en værdi fra databasen


/Kasper



David Trasbo (08-06-2005)
Kommentar
Fra : David Trasbo


Dato : 08-06-05 13:48

> > <%
> > Set Conn = Server.CreateObject("ADODB.Connection")
> > DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> > DSN = DSN & "DBQ=" & Server.MapPath("qwertasdfgzxcvbm.mdb")
> > Conn.Open DSN
> >
> > ' SQL forespørgsel
> > strSQL = "Select * From tblMessages Where Til = '" &_
> > Request.Querystring("name") & "'"
> >
> > ' Udfør forespørgsel (rs indeholder nu resultatet)
> > Set rs = Conn.Execute(strSQL)
> >
> > ' Gennemløb Recordset (rs) med en løkke
>
>
> Do While Not rs.EOF
> 'har indsat While Not rs.EOF
>
> >
> > ' Udskriv værdien af kolonnen Fornavn
> >
> > Response.Write "<p>Emne:&nbsp;" & rs("Emne") & "&nbsp;&nbsp;"
> > Response.Write "Afsender:&nbsp;" & rs("Afsender") & "</p>"
> > Response.Write "<p>Besked:&nbsp;" & rs("Besked") & "</p>"
> >
> > %><a href="messagedelete.asp?id=<% Response.Write rs("Id")%>&name=<%
> > Response.Write Request.Querystring("name")%>">Slet</a>&nbsp;<a
> > href="newmessage1.asp?emne=Re: <% Response.write rs("Emne") %>&<%
> > Response.Write Request.Querystring %>" title="Besvar denne
> > besked">Besvar</a><hr /><%
> >
> > ' Gå til næste Record i rs
> > rs.MoveNext
> >
> > ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
>
>
> > Loop
> ' har fjernet "While Not rs.EOF"
>
>
> >
> > ' Luk databaseforbindelse
> > Conn.Close
> > Set Conn = Nothing
> > %>

Ok. Så virker det. Nu har jeg lige et andet spørgsmål. Jeg arbejder med
input fra brugerne og har lavet følgende formular:

<form method="post" action="newmessage3.asp?name=<% Response.Write
Request.Querystring("name") %>">
<p>Til: <input type="text" name="Til" value="<% Response.Write
Request.Querystring("til") %>" /></p>
<p>Emne: <input type="text name="Emne" value="<% Response.Write
Request.Querystring("emne") %>" /></p>
<p>Besked: <textarea name="Besked"></textarea></p>
<input type="submit" value="Send" />
</form>

Og den SQL-sætningen der modtager inputtet med ASP:

strSQL = "Insert into tblMessages (Afsender, Til, Emne, Besked) values('" &
Request.Querystring("name") & "', '" & Request.Form("Til") & "', '" &
Request.Form("Emne") & "', '" & Request.Form("Besked") & "')"

Og uden ASP:

strSQL = Insert into tblMessages (Afsender, Til, Emne, Besked)
values('Datra', 'Datra', '', 'hej')

Og fejlen jeg får er:

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'

[Microsoft][ODBC Microsoft Access-driver] Feltet "tblMessages.Emne" kan ikke
indeholde en streng af længden nul.

/login/newmessage3.asp, line 34

Det kan jeg jo godt forstå. Men der må være en fejl i formularen eller lign.
fordi, at selv om at jeg i princippet har skrevet tekst i emne-feltet, får
jeg fejl.

--

David Trasbo.

Vær en god Usenet bruger. Læs http://usenet.dk/netikette.



Dj Uncas (08-06-2005)
Kommentar
Fra : Dj Uncas


Dato : 08-06-05 16:53

> Ok. Så virker det. Nu har jeg lige et andet spørgsmål. Jeg arbejder med
> input fra brugerne og har lavet følgende formular:
>
> <form method="post" action="newmessage3.asp?name=<% Response.Write
> Request.Querystring("name") %>">
> <p>Til: <input type="text" name="Til" value="<% Response.Write
> Request.Querystring("til") %>" /></p>
> <p>Emne: <input type="text name="Emne" value="<% Response.Write
> Request.Querystring("emne") %>" /></p>
> <p>Besked: <textarea name="Besked"></textarea></p>
> <input type="submit" value="Send" />
> </form>
>
> Og den SQL-sætningen der modtager inputtet med ASP:
>
> strSQL = "Insert into tblMessages (Afsender, Til, Emne, Besked) values('"
> &
> Request.Querystring("name") & "', '" & Request.Form("Til") & "', '" &
> Request.Form("Emne") & "', '" & Request.Form("Besked") & "')"
>
> Og uden ASP:
>
> strSQL = Insert into tblMessages (Afsender, Til, Emne, Besked)
> values('Datra', 'Datra', '', 'hej')
>
> Og fejlen jeg får er:
>
> Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'
>
> [Microsoft][ODBC Microsoft Access-driver] Feltet "tblMessages.Emne" kan
> ikke
> indeholde en streng af længden nul.
>
> /login/newmessage3.asp, line 34
>
> Det kan jeg jo godt forstå. Men der må være en fejl i formularen eller
> lign.
> fordi, at selv om at jeg i princippet har skrevet tekst i emne-feltet, får
> jeg fejl.


I din SQL:

strSQL = Insert into tblMessages (Afsender, Til, Emne, Besked)
values('Datra', 'Datra', '', 'hej')

er der jo ikke nogen værdi der skal sættes ind i feltet Emne. Sådan som det
er nu står der:

Afsender: 'Datra'
Til: 'Datra'
Emne: ''
Besked: 'hej'

Dvs. at der ikke kommer noget ud af Request.Form("Emne"). Har du tjekket at
det er det rigtige navn på tekstboksen? Det kan godt være der fejlen ligger.



David Trasbo (08-06-2005)
Kommentar
Fra : David Trasbo


Dato : 08-06-05 17:20

> Dvs. at der ikke kommer noget ud af Request.Form("Emne"). Har du tjekket
at
> det er det rigtige navn på tekstboksen? Det kan godt være der fejlen
ligger.

Altså dens navn er Emne og den tager fra Emne, så jeg ved ikke..?

--
David Trasbo.
Vær en god Usenet bruger. Læs http://usenet.dk/netikette.



Kasper Lindberg (08-06-2005)
Kommentar
Fra : Kasper Lindberg


Dato : 08-06-05 18:04


"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:42a6e90a$0$18650$14726298@news.sunsite.dk...
>
> Ok. Så virker det. Nu har jeg lige et andet spørgsmål. Jeg arbejder med
> input fra brugerne og har lavet følgende formular:
>
> <form method="post" action="newmessage3.asp?name=<% Response.Write
> Request.Querystring("name") %>">
> <p>Til: <input type="text" name="Til" value="<% Response.Write
> Request.Querystring("til") %>" /></p>

i næste kodelinie skriver du: input type="text name="Emne" ...
din fejl er et manglende " efter text

> <p>Emne: <input type="text name="Emne" value="<% Response.Write
> Request.Querystring("emne") %>" /></p>

feltet bliver erklæret som værende "text name"
feltet har derfor intet navn

> <p>Besked: <textarea name="Besked"></textarea></p>
> <input type="submit" value="Send" />
> </form>
>
> Og den SQL-sætningen der modtager inputtet med ASP:
>
> strSQL = "Insert into tblMessages (Afsender, Til, Emne, Besked) values('"
> &
> Request.Querystring("name") & "', '" & Request.Form("Til") & "', '" &
> Request.Form("Emne") & "', '" & Request.Form("Besked") & "')"
>

du har, som antydet, egentlig ikke et felt der hedder Emne, og værdien af
request.form("Emne") er derfor en tom streng.
dette resulterer i din SQL

> strSQL = Insert into tblMessages (Afsender, Til, Emne, Besked)
> values('Datra', 'Datra', '', 'hej')
>

>
> Det kan jeg jo godt forstå. Men der må være en fejl i formularen eller
> lign.

ja


tilføj et " så burde det virke


/Kasper



David Trasbo (08-06-2005)
Kommentar
Fra : David Trasbo


Dato : 08-06-05 18:12

> tilføj et " så burde det virke

Hvor henne?

--
David Trasbo.
Vær en god Usenet bruger. Læs http://usenet.dk/netikette.



Kasper Lindberg (09-06-2005)
Kommentar
Fra : Kasper Lindberg


Dato : 09-06-05 09:33


"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:42a726cd$0$18648$14726298@news.sunsite.dk...
>> tilføj et " så burde det virke
>
> Hvor henne?
>

din form ser ud som herunder:


<form method="post" action="newmessage3.asp?name=<% Response.Write
Request.Querystring("name") %>">
<p>Til: <input type="text" name="Til" value="<% Response.Write
Request.Querystring("til") %>" /></p>
<p>Emne: <input type="text name="Emne" value="<% Response.Write
Request.Querystring("emne") %>" /></p>
<p>Besked: <textarea name="Besked"></textarea></p>
<input type="submit" value="Send" />
</form>

du har allerede fundet ud af at fejlen ligger i linien

<p>Emne: <input type="text name="Emne" <klip>
----------------------------^

efter text mangler der et "


/Kasper



David Trasbo (10-06-2005)
Kommentar
Fra : David Trasbo


Dato : 10-06-05 10:50

> <p>Emne: <input type="text name="Emne" <klip>
> ----------------------------^
>
> efter text mangler der et "

Tak. Nu virker det!

--
David Trasbo.
Vær en god Usenet bruger. Læs http://usenet.dk/netikette.



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

Månedens bedste
Årets bedste
Sidste års bedste