Avatar billede ronja7 Nybegynder
27. september 2002 - 19:01 Der er 18 kommentarer og
1 løsning

Tomt ResultSet

Hejsa, jeg er ikke sikker på om dette spm hører hjemme her eller i MySQL-gruppen. Når jeg udfører nedenstående query i enten MySQL-Front elller phpmyAdmin giver den det ønskede resultat. Men ligeså snart jeg lægger det ind i mit ASP-script, og opretter et resultset, kommer det ud tomt.

Min query ser sådan ud:
SELECT sp.* , COUNT(se.spillerID) Antal FROM spillere2002 sp LEFT JOIN selections2002 se ON sp.spillerID=se.spillerID GROUP BY sp.spillerID ORDER BY Antal DESC


ASP-scriptet:
strSQL = "SELECT sp.* , 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 rs = cnn.Execute(strSQL)
    Session("sql") = strSQL   
<tr>   
<td><%
do until rs.EOF           
%>
<u><%=rs("Antal")%></u> - <%=rs("spillerfornavn")%> <%=rs("spillerefternavn")%>, <%=rs("Klub")%><br>
<%rs.MoveNext
loop%>

Hvis jeg forsøger at gå uden om at spørge på EOF får jeg error:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

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

Nåh,, GF-VFF i fjerneren.. Håber der er nogen der ikke skal se den, som kan se mit problem.

Rune
Avatar billede eagleeye Praktikant
27. september 2002 - 19:05 #1
Prøv at tilføje i toppen af din ASP fil, eller lige før du bygger din SQL sætning.

Set rs = ServerCreateObject("ADODB.RecordSet")
Avatar billede excession Nybegynder
27. september 2002 - 19:05 #2
jeg skal bestemt ikke se det... latterlig sport, burde slet ikke være en sport..

prøv at udskrive din SQL sætning og se om den passer
Avatar billede ronja7 Nybegynder
27. september 2002 - 19:09 #3
Du mener vel Server.Create.....?
Virker heller ikke.

SQL-sætningen i mit spm er c/p fra netop den udskrift, og derefter testet i phpMyAdmin og Fronten.

Hvad burde så være en sport, Dart?
Avatar billede excession Nybegynder
27. september 2002 - 19:12 #4
dart er kanon, men ikke en sport
Avatar billede eagleeye Praktikant
27. september 2002 - 19:13 #5
Findes kolonnen  spillerfornavn, spillerefternavn,  og Klub  i tabelen sp?
Avatar billede eagleeye Praktikant
27. september 2002 - 19:30 #6
Prøv at lave SQL så den udvælger alle de kolonner du har behøv for:

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"
Avatar billede neteffect Nybegynder
27. september 2002 - 20:40 #7
Prøv at fjerne  limit 0,10
Avatar billede ronja7 Nybegynder
27. september 2002 - 21:32 #8
kolonnerne findes, og forsøget med at udelade sp.* virkede heller ikke.

Limit burde da heller ikke være en hindring, men forsøget fejlede også, desværre.

Jeg må have hovedet mere i blød..
Avatar billede eagleeye Praktikant
27. september 2002 - 21:33 #9
du får ikke et linie nummer ned i fejl koden?
Avatar billede ronja7 Nybegynder
27. september 2002 - 21:42 #10
det er netop problemet.. Der kommer ingen fejlkode, bare et tomt resultset. Og dernæst ovennævnte fejlkode hvis jeg forsøger at spørge uden do until rs.EOF.. Den kommer med linienummer, der hvor jeg spørger efter f.eks rs("Antal")
Avatar billede excession Nybegynder
27. september 2002 - 21:49 #11
jeg ved ikke om det betyder noget med prøv

DO WHILE NOT rs.EOF
Avatar billede eagleeye Praktikant
27. september 2002 - 21:53 #12
Hvis du får et tomt recordset så kommer der en fejl hvis du forsøger at ugskrive fra kolonnerne med rs("kolonnenavn")
Avatar billede ronja7 Nybegynder
27. september 2002 - 22:06 #13
Ingen held med do while not,, det tror jeg egentlig også jeg har prøvet.

eagleeye: Rigtigt, men hvis jeg spørger inden om det er tomt, og der så ikke kommer noget output eller nogen fejlmeddelelse - må det jo betyde at det er tomt.

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Driver does not support this parameter
/dream/stats.asp, line 33

Kommer hvis jeg jeg spørger uden at tjekke på EOF først. i linie 33 har jeg prøvet med en "rs.MoveFirst".
Fejlen kommer også hvis jeg bare spørger på et kolonnenavn.(som er med i udvælgelsen)

frustrerende..
Avatar billede eagleeye Praktikant
27. september 2002 - 22:12 #14
Når man åbner med:  Set rs = cnn.Execute(strSQL)

Så mener jeg ikke moveFirst virker.. Så skal du åbne med rs.Open

rs.Open strSQL, cnn, 1
Avatar billede ronja7 Nybegynder
27. september 2002 - 22:19 #15
ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

/dream/stats.asp, line 34
Avatar billede ronja7 Nybegynder
27. september 2002 - 22:29 #16
hov det var min fejl..
rs.Open gør ingen forskel.
Avatar billede eagleeye Praktikant
27. september 2002 - 23:10 #17
Hvad står der i linie 34 ???

For den siger du udføre noget som ikke er tilladt når recordset et åben..
Avatar billede eagleeye Praktikant
28. september 2002 - 00:11 #18
??Igen respons

Du kan få dine point tilbage i dette spørgsmål:
http://www.eksperten.dk/spm/263409
Avatar billede ronja7 Nybegynder
28. september 2002 - 10:05 #19
linie 34 var bare rs.Open.. og jeg havde glemt at sætte "Set rs =.." ud af drift.
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