Avatar billede ronja7 Nybegynder
28. september 2002 - 11:39 Der er 11 kommentarer og
1 løsning

Count returnerer tomt resultset

Nu prøver jeg lige igen
(http://www.eksperten.dk/spm/263314)

Jeg har følgende asp-kode:

<%
strSQL = "SELECT sp.spillerfornavn, sp.spillerefternavn, sp.Klub, COUNT(se.spillerID) as Antal FROM spillere" & whichyear & " sp LEFT JOIN selections" & whichyear & " se ON sp.spillerID=se.spillerID where gruppe>0 GROUP BY sp.spillerID ORDER BY Antal DESC limit 0,10"

Set rsPlayer = cnn.Execute(strSQL)
Session("sql") = strSQL   

    'rsPlayer.Open strSQL, cnn, 1
    'rsPlayer.MoveFirst
   
    do while not rsPlayer.EOF           
%>
    <%=rsPlayer("Antal")%> - <%=rsPlayer("spillerfornavn")%> <%=rsPlayer("spillerefternavn")%>, <%=rsPlayer("Klub")%><br>
    <%
    rsPlayer.MoveNext
    loop
%>

Løkken kommer aldrig igang, hvilket jeg efter min bedste overbevisning tror må skyldes at mit resultset er tomt.

Desværre viser det sig ved test i phpMyAdmin og MySQL-Front at denne query returnerer lige nøjagtigt det som jeg vil have den til.

Jeg fatter det ikke...

Spørger jeg på kolonner uden at tjekke om EOF får jeg følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Driver does not support this parameter

Håber det kan løses?

Rune
Avatar billede doc404 Novice
28. september 2002 - 12:48 #1
prøv en gang at lave en response.write strSql for at se om alt nu også er som du tror...
Avatar billede ronja7 Nybegynder
28. september 2002 - 12:52 #2
Jeg skriver strSQL til en session-variabel hvergang. Og den er fin. Som jeg skriver tester jeg den.
Avatar billede eagleeye Praktikant
28. september 2002 - 13:13 #3
Nu har jeg siddet og kigget mere på din SQL ... Når du har Count inde så skal alle kolonner som du vil havde men up listes i GROUP BY.:

strSQL = "SELECT sp.spillerfornavn, sp.spillerefternavn, sp.Klub, COUNT(se.spillerID) as Antal FROM spillere" & whichyear & " sp LEFT JOIN selections" & whichyear & " se ON sp.spillerID=se.spillerID where gruppe>0 GROUP BY sp.spillerID, sp.spillerfornavn, sp.spillerefternavn, sp.Klub ORDER BY Antal DESC limit 0,10"
Avatar billede eagleeye Praktikant
28. september 2002 - 13:15 #4
Og måske skal ODER BY være count(xxx) og ikke antal, hvis der havde været access skulle der så count(kolonnenavn), jeg kan se du bruger mySQL... men du kan evt prøve denne:


strSQL = "SELECT sp.spillerfornavn, sp.spillerefternavn, sp.Klub, COUNT(se.spillerID) as Antal FROM spillere" & whichyear & " sp LEFT JOIN selections" & whichyear & " se ON sp.spillerID=se.spillerID where gruppe>0 GROUP BY sp.spillerID, sp.spillerfornavn, sp.spillerefternavn, sp.Klub ORDER BY COUNT(se.spillerID) DESC limit 0,10"
Avatar billede ronja7 Nybegynder
28. september 2002 - 13:51 #5
Første bud giver stadig et tomt set.
Andet forsøg med at sige Order by count(se.spillerID) giver error:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[TCX][MyODBC]Invalid use of group function
I den linie jeg forsøger at skabe resultsettet.
Avatar billede eagleeye Praktikant
28. september 2002 - 14:27 #6
Den sidste jeg har vist virker i Access hvis jeg fjerner Limit naturligvis...

Har du prøvet SQL sætningen i PHPadmin modulet?
Avatar billede eagleeye Praktikant
28. september 2002 - 14:27 #7
eller hvad er det nu det hedder ...
Avatar billede ronja7 Nybegynder
28. september 2002 - 14:30 #8
problemet er at det netop virker i phpMyAdmin, MySQL-Front og sikkert også Access hvis jeg brugte den.. Men lige så snart jeg lægger det over i asp og trækker et resultset ud. Er det tomt..
Avatar billede ronja7 Nybegynder
28. september 2002 - 14:31 #9
den sidste du viste fejler fordi jeg sætter Order by count(se.spillerID) på istedet for Antal..

Kan det have noget at sige?
Avatar billede eagleeye Praktikant
28. september 2002 - 14:34 #10
Men den første jeg viste virkede heler ikke?? I den første står Antal..

Og du sikker på  whichyear  indeholder en gyldig værdi?
Avatar billede ronja7 Nybegynder
28. september 2002 - 17:21 #11
den første blev gennemført som før, men stadig tomt resultatset.

ja, whichyear indeholder 2002. Det er også testet uden whichyear, som een streng.
Avatar billede ronja7 Nybegynder
04. oktober 2002 - 21:39 #12
hmmm
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