/ 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
Hente de sidste 5 indtastede fra db
Fra : Henning Habor


Dato : 11-02-03 11:34

Jeg har lige et problem med asp db.

Hvordan henter jeg de sidste 5 indtastede data fra en database?

<%

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

strSQL = "Select * From guest Order by ID Desc"
Set rs = Conn.Execute(strSQL)

Do

Response.Write "<tr><td valign=top>Navn</td><td>" & rs("Navn") &
"</td></tr><tr><td>Email:</td><td valign=top><a href=mailto:" &
rs("Email") & ">" & rs("Email") & "</a></td></tr>"
Response.Write "</tr><td valign=top>Hjemmeside:</td><td><a
href=http://" & rs("Hjemmeside") & ">" & rs("Hjemmeside") &
"</a></td></tr>"
Response.Write "<tr><td valign=top>Hilsen:</td><td>" &
rs("Hilsen") & "</td></tr></table>"

rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

På forhånd tak for hjælpen

--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

 
 
Jens Gyldenkærne Cla~ (11-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-02-03 11:41

Henning Habor skrev:

> Hvordan henter jeg de sidste 5 indtastede data fra en database?

Det kommer an på hvilke felter du har til rådighed. Du skal bruge
enten et id-felt (autonummerering) eller også et datofelt (med
default = Now) for at kunne trække "sidst indtastede" ud.

Med et idfelt kan du bruge:

SELECT TOP 5 *
FROM dinTabel
ORDER BY idFelt DESC

(her kommer den nyeste først).

Hvis du vil have den ældste (af de fem) først kan du skrive

SELECT *
FROM dinTabel
WHERE idFelt IN (
   SELECT TOP 5 idFelt
   FROM dinTabel
   ORDER BY idFelt DESC
   )
ORDER BY idFelt
--
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

Henning Habor (11-02-2003)
Kommentar
Fra : Henning Habor


Dato : 11-02-03 14:55

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Henning Habor skrev:
>
> > Hvordan henter jeg de sidste 5 indtastede data fra en database?
>
> Det kommer an på hvilke felter du har til rådighed. Du skal bruge
> enten et id-felt (autonummerering) eller også et datofelt (med
> default = Now) for at kunne trække "sidst indtastede" ud.
>
> Med et idfelt kan du bruge:
>
> SELECT TOP 5 *
> FROM dinTabel
> ORDER BY idFelt DESC
>
> (her kommer den nyeste først).
>
> Hvis du vil have den ældste (af de fem) først kan du skrive
>
> SELECT *
> FROM dinTabel
> WHERE idFelt IN (
>    SELECT TOP 5 idFelt
>    FROM dinTabel
>    ORDER BY idFelt DESC
>    )
> ORDER BY idFelt
> --
> 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

Det virker sq... Jens, du er en perle... Tak for hjælpen!

--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Jens Gyldenkærne Cla~ (11-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-02-03 15:03

Henning Habor skrev:

> Det virker sq... Jens, du er en perle... Tak for hjælpen!

Velbekomme. Hvis du vil gøre lidt til gengæld, må du gerne bruge et
minut eller to på at læse min signatur samt linket deri. Det er
spild af plads at citere 30 linjer for at tilføje én.
--
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

Henning Habor (11-02-2003)
Kommentar
Fra : Henning Habor


Dato : 11-02-03 17:58

Det tænkte jeg slet ikke på... - Sorry...

Så har jeg lige et spørgsmål mere:

Hvis en bruger vil skrive i min gæstebog, hvorfor kan han så ikke
undlade at skrive i feltet: Hjemmeside?

Har prøvet at rende forummet igennem, men kan ikke finde et svar der
passer på mit spørgsmål.

Fandt en kode der hed noget med:

If Not IsNull(rs("link")) then
If rs("Link") <> "" Then
Response.Write ...
End If
End If

Hvor skal jeg sætte denne kode?
- På siden hvortil dataene fra formen bliver sendt?
- På siden hvor formen er?

Og i hvilken rækkefølge skal det så stå i min kode?

Koden der henter data fra min database ser sådan ud:

<%

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

strSQL = "Select * From guest Order by ID Desc"
Set rs = Conn.Execute(strSQL)

Do

Response.Write "<table width=100% style='border: 1px solid
#c0c0c0'><tr><td valign=top width=100px>Navn:</td><td>" & rs("Navn") &
"</td></tr>"
Response.Write "<tr><td>Email:</td><td valign=top><a href=mailto:" &
rs("Email") & ">" & rs("Email") & "</a></td></tr>"
Response.Write "</tr><td valign=top>Hjemmeside:</td><td><a
href=http://" & rs("Hjemmeside") & ">" & rs("Hjemmeside") &
"</a></td></tr>"
Response.Write "<tr><td valign=top>Hilsen:</td><td>" & rs("Hilsen") &
"</td></tr></table>"

rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Koden der indsætter data i min database ser sådan ud:

<%

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

strSQL = "Insert into guest ("

strSQL = strSQL & "Navn, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Hjemmeside, "
strSQL = strSQL & "Hilsen) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Navn") & "', "
strSQL = strSQL & "'" & Request.Form("Email") & "', "
strSQL = strSQL & "'" & Request.Form("Hjemmeside") & "', "
strSQL = strSQL & "'" & Request.Form("Hilsen") & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

%>

På forhånd tak for hjælpen...

--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Jens Gyldenkærne Cla~ (11-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-02-03 18:33

Henning Habor skrev:

> Hvis en bruger vil skrive i min gæstebog, hvorfor kan han så
> ikke undlade at skrive i feltet: Hjemmeside?

Sandsynligvis på grund af en standardindstilling i Access der gør
at tomme værdier ("" - _ikke_ null) ikke er tilladt i tekstfelter.

Sæt "TilladNullængde"/"AllowZeroLength" til ja i databasen - eller
bedre endnu, fang tomme værdier i din form og erstat dem med Null.
Det sidste er det mest korrekte - men lidt besværligt at
implementere, fordi Null ikke skal have anførselstegn som alle
andre tekstværdier skal.

NB: Du må godt citere _lidt_ tekst
--
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

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