Avatar billede mm12010 Nybegynder
13. oktober 2002 - 15:51 Der er 10 kommentarer og
1 løsning

SQL-forespørgsel uden første række

Hvordan laver man SQL-forespørgsel hvor den første række i tabellen ikke bliver taget med?
Avatar billede medions Nybegynder
13. oktober 2002 - 15:55 #1
strSQL = "SELECT * FROM tabel"
Set objRs = objConn.Execute(strSQL)

While Not objRs.EOF
  Response.Write(objRs(1))
objRs.MoveNext
Wend

-Rækker i en tabel er opdelt i et Array, så den første række starter med 0 ;o)

//>Rune
Avatar billede medions Nybegynder
13. oktober 2002 - 15:56 #2
Hmm med mindre du mener rækker -vandret.. For så skal du gøre sådan her:

strSQL = "SELECT * FROM tabel WHERE [ID] > 1"
Set objRs = objConn.Execute(strSQL)

det kræver jo så dog at du har Autonumerring på kolonnen ID!

//>Rune
Avatar billede erikjacobsen Ekspert
13. oktober 2002 - 15:57 #3
Mon ikke det er en søjle du mener, Rune. Hvilken database bruger du?
Avatar billede medions Nybegynder
13. oktober 2002 - 15:58 #4
*G* Jov Erik ;o)

//>Rune
Avatar billede mm12010 Nybegynder
13. oktober 2002 - 16:05 #5
hmm... jeg har vist ikke formuleret mig ordenligt :o)

jeg er ved at lave noget forum-agtigt noget, og skal i den forbindelse kunne formatere den første(vandrette) række i mit ResultSet, anderledes end resten.

Jeg bruger en Alm. MS Access DB



topic = Request.Querystring("topic");

rs = conn.Execute("SELECT * FROM forum WHERE emne = '"+topic+"' ORDER BY ID");

%>

<table width="500" border="1">

<%
Response.write("<tr><td><strong>"+rs.Fields("emne")+"</strong></td><td><strong>Oprettet "+rs.Fields("dato")+"</strong></td><td><strong>af "+rs.Fields("bruger")+"</strong></td></tr><tr><td colspan=\"3\">"+rs.Fields("tekst")+"</td></tr>");
while (!rs.EOF){
    Response.write("<tr><td>Svar</td><td>fra: "+rs.Fields("bruger")+"</td><td>"+rs.Fields("dato")+"</td><tr><td colspan=\"3\">"+rs.Fields("tekst")+"</td></tr>");
    rs.MoveNext();
}
conn.Close();   
%>


Det er i den nederste Response.write sætning at den første række ikke skal tages med...
Avatar billede erikjacobsen Ekspert
13. oktober 2002 - 16:25 #6
Nå, Access. Jamen kan du ikke bare tælle rækkerne, og så springe den
første række over.

a=0
while ...
  a=a+1
  if a>1 then
    response.write
  end if
...osv
Avatar billede kebab Nybegynder
13. oktober 2002 - 16:29 #7
bare lav movenext inden while løkken..
rs.MoveNext();
while (!rs.EOF){
    Response.write("<tr><td>Svar</td><td>fra: "+rs.Fields("bruger")+"</td><td>"+rs.Fields("dato")+"</td><tr><td colspan=\"3\">"+rs.Fields("tekst")+"</td></tr>");
    rs.MoveNext();
}
Avatar billede mm12010 Nybegynder
13. oktober 2002 - 16:38 #8
>>kebab
mange tak!
smid svar og grib point :o)
Avatar billede kebab Nybegynder
13. oktober 2002 - 16:58 #9
bare lav movenext inden while løkken..
rs.MoveNext();
while (!rs.EOF){
    Response.write("<tr><td>Svar</td><td>fra: "+rs.Fields("bruger")+"</td><td>"+rs.Fields("dato")+"</td><tr><td colspan=\"3\">"+rs.Fields("tekst")+"</td></tr>");
    rs.MoveNext();
}
Avatar billede erikjacobsen Ekspert
13. oktober 2002 - 17:28 #10
Bruger du kebabs løsning får du kørefejl i de tilfælde
hvor der ingen rækker er.
Avatar billede kebab Nybegynder
13. oktober 2002 - 17:48 #11
hehe, tænkte på at nævne det, men jeg kan ikke asp syntaks :( men det er bare at smide en if rundt om test på rs.EOF...
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