Avatar billede aero Nybegynder
05. januar 2006 - 22:17 Der er 9 kommentarer og
1 løsning

x antal recorder som skal vises

Hej

Jeg har en SQL linje som henter nogle udtræk fra en DB ca. 1125 stk men jeg vil kun have vist 12 eller 17 stk. og det er dem den henter først hvordan kan jeg gøre det via en asp side eller evt SQL linje !?
Avatar billede koldstar Nybegynder
05. januar 2006 - 22:18 #1
select top 12 felt1, felt2 from tabel Where xx=yy
Avatar billede jansangill Nybegynder
05. januar 2006 - 22:53 #2
vil du kun have vist 12 stykker, eller vil du have mulighed for at bladre alle poster igennem, efter de først 12 viste
Avatar billede aero Nybegynder
05. januar 2006 - 23:08 #3
Den SKAL gå alle 1125 igennem i sql koden da de bliver sat op efter en bestemt WHERE og ORDER linje.
Ud fra den liste som så bliver genereret vil jeg så have vist de første 12 som den vil udskrive.

så det er vigtigt den ikke KUN tager de første 12 fra db'en af de 1125 men køre alle igennem min SQL linje for derefter at tage de første 12 som ud af den liste som jeg vil få efter at det er kørt gennem WHERE og ORDER SQL linjen.
Avatar billede jansangill Nybegynder
05. januar 2006 - 23:54 #4
jeg e rikke helt med endnu, men hvis det du siger er hvad jeg tror du siger:D

Så lyder det som om at du vil have vist de første 12 og derefrer muligheden for at gå igennem de andre poster.

Hvis det bare er dette, kan du jo bruge paging - dvs. ligesom google, hvor man kan gå frem og tilbage i ens database.

Hvis det er dette du mener altså?
Avatar billede softspot Forsker
06. januar 2006 - 02:46 #5
...og paging kan du lære noget om i dette eksempel: http://activedeveloper.dk/artikler/default.asp?articleid=31
Avatar billede softspot Forsker
06. januar 2006 - 02:50 #6
Hvis det bare er de første 12 du vil have fat i, så er det efter det princip som koldstar skriver i første post. TOP X tager netop de første 12 fra det resultat som din SQL-sætning genererer og altså ikke bare de første 12 fra tabellen, så det er OK at benytte TOP til det formål...
Avatar billede koldstar Nybegynder
06. januar 2006 - 09:45 #7
det er top du skal bruge. Den udfører where kriterierne før den udvælger top x. Du kan ligeledes komme en sort by xx på, så du får dem i den rigtige rækkefølge.
Avatar billede aero Nybegynder
06. januar 2006 - 17:15 #8
okay mange tak lige en sidste ting
hvis det er evt 12 ud af 20 jeg vil have vist og de 20 skal være fra idag hvordan kan jeg lave en sql linje som viser de 12 hvor datoen er den samme som idag !? min database har et felt som er af typen Date og mit format er dd-mm-yyyy hh:mm:ss
Avatar billede koldstar Nybegynder
06. januar 2006 - 19:04 #9
Kan ikk elige huske syntaksen, men dette burde virke..

SELECT TOP 12 felt1, felt2 WHERE year(DatoFelt)=year(Now) AND month(DatoFelt)=month(Now) AND day(DatoFelt)=day(Now)

Men det kan gøres lettere ;)
Avatar billede aero Nybegynder
06. januar 2006 - 20:10 #10
Okay har lige en sidste ting da jeg ikke kan få det til at vise de datoer son er > end NOW().
http://www.billundfodbold.dk/bif/team&results/top_program.asp

Kan det gøres letter end dette !? den kode der viser de 5 kampe som er <= NOW() har jeg ændret > til <= og den virker, men ikke denne og jeg har en dato som hedder 23-03-2006 som er frem i tiden iforhold til NOW().

Håber du lige vil kigge på denne lille sidste ting.

Og mange tak...
min kode er:
Sub Comming_Play()

Dim cnstDBPath
  cnstDBPath = ("\dsn.mdb")
  Dim strProvider
 
  Set objConn = Server.CreateObject("ADODB.Connection")
  strProvider = "" & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strProvider = strProvider & "Data Source=" & cnstDBPath & ";"
  strProvider = strProvider & "Persist Security Info=False"
  objConn.Connectionstring = strProvider
  set fso = Server.CreateObject("Scripting.FileSystemObject")
  objConn.Open
   
strSQL = "SELECT TOP 5 [TName], [MDate], [HTeam], [ATeam], [TScore] FROM Program"
strSQL = strSQL & " WHERE [MDate] >#"&DateFormater(Now(), "dd-mm-yyyy hh:nn", 0)&"#"
strSQL = strSQL & " AND [TScore] LIKE '%-%'"
strSQL = strSQL & " ORDER BY [MDate] DESC;"
Set objRS = objConn.Execute(strSQL)

If Not (objRS.BOF or objRS.EOF) Then
  Response.Write("This is the Comming Match<br><br>")
 
  Do While Not objRS.EOF
 
  strTName = objRS("TName")
  strMDate = objRS("MDate")
  strHTeam = objRS("HTeam")
  strATeam = objRS("ATeam")
  strTScore = objRS("TScore")
 
  Response.Write(strTName&" "&strMDate&" "&strHTeam&" "&strATeam&" "&strTScore&"<br><br>")
 
  objRS.MoveNext

  Loop
  Response.Write ("")
  Else
  Response.Write "Der er ikke nogle kampe tilbage i denne sæson."
End If
  objRS.Close
  Set objRS = Nothing
  objConn.Close
  Set objConn = Nothing
End Sub
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