Avatar billede webcreator Nybegynder
21. januar 2003 - 10:40 Der er 15 kommentarer og
2 løsninger

Hent data fra lille database

Hej.

Jeg sidder med et projekt på 2. G, hvor jeg bla. har brug for, at hente information ud fra en Microsoft Access Database. Jeg søger ikke nødvendigvis en færdiglavet kode (selv om det ville være fint, hvis det kunne lade sig gøre), men gerne sites, hvor der er information omkring opbygningen af et script, der kan hente information af databasen.

Scriptet skal bla. have den egenskab, at det kun er de sidste 10 poster, der bliver hentet (arrangeret efter ID-nummer, dato eller lignende.)
Avatar billede elkrog Nybegynder
21. januar 2003 - 10:42 #1
Avatar billede elkrog Nybegynder
21. januar 2003 - 10:49 #2
Hvis du kun skal bruge ti poster, sorteret efter noget:
strSQL = "Select top 10 * from personer order by dato"
Avatar billede webcreator Nybegynder
21. januar 2003 - 10:53 #3
Kanon. takker. Jeg kigger på det :-)
Keep posting :-)
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:34 #4
Nogen der kan se, hvad der er galt i min kode her :

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>

<%
' 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.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select top 10 * from dato order by dato"
' 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 no1
  Response.Write rs("no1") & "<br>"

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

</body>
</html>



Jeg får en fejl i linie 17 - men i virkeligheden brokker der sig vist over:
strSQL = "Select top 10 * from dato order by dato"
Avatar billede elkrog Nybegynder
21. januar 2003 - 11:37 #5
du skal selvfølgelig have et felt i din database som hedder dato.
Ellers udskift det med ID eller et andet felt i databasen
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:38 #6
Har et felt i min DB der hedder dato - men det hjælper ligefedt :o/
Avatar billede elkrog Nybegynder
21. januar 2003 - 11:40 #7
Prøv evt. uden order by
strSQL = "Select top 10 * from dato"
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:41 #8
ok, prøver.
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:42 #9
Det virkede heller ikke.
Vil du se databasen ?
Avatar billede hf Nybegynder
21. januar 2003 - 11:43 #10
Du har angivet i SQL'en at der skal hentes records fra en tabel, der hedder dato. Er det korrekt?

Syntaxen er:
Select top 10 * from TABEL order by FELT
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:45 #11
Kan det have noget at gøre med, at jeg ikke har specificeret tabellen i databasen ?
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:45 #12
Ah, ok. prøver lige igen.
Avatar billede hf Nybegynder
21. januar 2003 - 11:46 #13
Dine records befinder sig altid i en tabel.
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:53 #14
Perfekt. Det virker.

Men jeg har lige et mindre spørgsmål ved siden af :
Må tabellen og selve databasen (fvs. filnavnet) være det samme ?
Avatar billede elkrog Nybegynder
21. januar 2003 - 11:54 #15
Ja
Avatar billede webcreator Nybegynder
21. januar 2003 - 11:58 #16
Ok. mange tak for hjælpen :-)
Avatar billede cybermolle Nybegynder
21. januar 2003 - 12:00 #17
Jeg vidste ikke der var en "top 10"-funktion i SQL...

Jeg ville ellers har lavet en "SELECT * FROM tabel ORDER BY dato DESC", og så indlæse de første 10 post igennem en for-løkke.

/just my 2 cent...
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