Avatar billede python Nybegynder
03. februar 2001 - 00:22 Der er 17 kommentarer og
1 løsning

simplify this

strSQL = \"SELECT COUNT(class) AS bards FROM Users WHERE class=\'Bard\' ORDER BY level DESC;\"
set rs = myConn.Execute(strSQL)
brdstring = \"\"
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF
brdstring = brdstring + rs(\"character\") + \"<br>\"
rs.MoveNext
Loop
Else
bards = 0
End If

Stil endelig sprøgsmål..
Avatar billede python Nybegynder
03. februar 2001 - 00:24 #1
ups blandede noget sammen .. den her kode i skal bruge:
strSQL = \"SELECT COUNT(class) AS bards FROM Users WHERE class=\'Bard\' ORDER BY level DESC;\"
set rs = myConn.Execute(strSQL)
brdstring = \"\"
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF
brdstring = brdstring + rs(\"character\") + \"<br>\"
rs.MoveNext
Loop
Else
brdstring = \"\"
End If
Avatar billede dalbjerg Nybegynder
03. februar 2001 - 00:29 #2
æhh dit spørgsmål?
Avatar billede brain Nybegynder
03. februar 2001 - 00:31 #3
set rs = myConn.Execute(\"SELECT COUNT(class) AS bards FROM Users WHERE class=\'Bard\' ORDER BY level DESC;\")
brdstring = \"\"
Do While Not (rs.EOF or rs.BOF)
  brdstring = brdstring + rs(\"character\") + \"<br>\"
  rs.MoveNext
Loop


Avatar billede dalbjerg Nybegynder
03. februar 2001 - 00:33 #4
og den gik ud på hvad?
Avatar billede python Nybegynder
03. februar 2001 - 00:33 #5
ARGH .. i får lige hele koden i ka selfølgelig ikke gå ud fra det her:

strSQL = \"SELECT COUNT(class) AS bards FROM Users WHERE class=\'Bard\' ORDER BY level DESC;\"
set rs = myConn.Execute(strSQL)
bards = rs(\"bards\")
brdstring = \"\"
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF
brdstring = brdstring + rs(\"character\") + \"<br>\"
rs.MoveNext
Loop
Else
brdstring = \"\"
End If

og får denne error så der er vel også noget galt :(
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.
Avatar billede python Nybegynder
03. februar 2001 - 00:34 #6
i skulle gøre den simplere...
Avatar billede brain Nybegynder
03. februar 2001 - 00:39 #7
Jeg mener stadig ikke det kan blive simplere end mit svar....(uanset om den sidste kommentar er \"hele\" koden). Fejlen må vare fordi feltet ikke hedder \"level\"....
Avatar billede brain Nybegynder
03. februar 2001 - 00:41 #8
ups. bortset fra at

bards = rs(\"bards\")

lige skal ind før loopen starter :)
Avatar billede python Nybegynder
03. februar 2001 - 00:48 #9
okay havde ik lige set dit svar Brain ..

men den kommer stadig med fejlen :
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.
på selve linien med SQL stringen of course..
nogen ide ?
Avatar billede brain Nybegynder
03. februar 2001 - 00:54 #10
Ikke andet end det jeg allerede har kommenteret, at det måske ikke er level den hedder den kolonne... SQL\'en ser rigtig god ud. Prøv at kopiere den ind i Access. (opret query, gå i SQL mode (øverst venstre dropdown), og paste det ind), og se hvad den siger..
Avatar billede python Nybegynder
03. februar 2001 - 01:02 #11
Den her virker .. men der er ikke ORDER BY på .. og jeg har level i databasen ??

set rs = myConn.Execute(\"SELECT COUNT(*) AS bards FROM Users WHERE class=\'Bard\'\")
brdstring = \"\"
bards = rs(\"bards\")
set rs = myConn.Execute(\"SELECT * FROM Users WHERE class=\'Bard\'\")
Do While Not (rs.EOF or rs.BOF)
brdstring = brdstring + rs(\"character\") + \"<br>\"
rs.MoveNext
Loop
Avatar billede brain Nybegynder
03. februar 2001 - 01:14 #12
Ahhhhh. Det tog sandelig lidt tid for den gamle brain....Count(*) giver kun en row pr. definition. derfor kan du ikke lave order by...
Avatar billede python Nybegynder
03. februar 2001 - 01:29 #13
dvs det er umuligt at gøre ?
Avatar billede brain Nybegynder
03. februar 2001 - 01:33 #14
Order by giver jo ingen mening nå der kun er en row....hvad skal den så sortere?
Avatar billede brain Nybegynder
03. februar 2001 - 01:34 #15
søvnig...undskyld....prøv...

set rs = myConn.Execute(\"SELECT COUNT(*) AS bards FROM Users WHERE class=\'Bard\'\")
brdstring = \"\"
bards = rs(\"bards\")
set rs = myConn.Execute(\"SELECT * FROM Users WHERE class=\'Bard\' ORDER BY level DESC\")
Do While Not (rs.EOF or rs.BOF)
brdstring = brdstring + rs(\"character\") + \"<br>\"
rs.MoveNext
Loop
Avatar billede brain Nybegynder
03. februar 2001 - 01:36 #16
Det bør virke med ingen ORDER BY på første select, og ORDER BY på nederste....
Avatar billede brain Nybegynder
03. februar 2001 - 01:39 #17
ahh. level er reserveret i Access. prøv SELECT * FROM Users WHERE class=\'Bard\' ORDER BY Users.level DESC
Avatar billede python Nybegynder
03. februar 2001 - 02:56 #18
tusind tak ;)
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