Hejsan!
Har problem att få mitt "räkna-poster" script att fungera med MySQL..
SQL="SELECT COUNT(mail_id) AS Antal, intTillid, intLast FROM mail WHERE intTillid = " & Session("id") & " AND intLast=0"
Set RS2=Server.CreateObject("ADODB.Recordset")
RS2.open SQL, Connect, 3,3
Men får felmesset:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.
/top.asp, line 25
Och skriver jag ut SQL så blir de:
SQL: SELECT COUNT(mail_id) AS Antal, intTillid, intLast FROM mail WHERE intTillid = 1 AND intLast=0
Då öppnas recordset:et forwardonly och readonly och det bör ju fungera.
Det första kan jag inte, eftersom jag jobbar mot en MySQL databas.
Men testade det andra, och fick detta felmess:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
SQL = "SELECT COUNT(mail_id) AS Antal, intTillid, intLast FROM mail " & _
"WHERE intTillid = " & Session("id") & " AND intLast=0 " & _
"GROUP BY intTillid, intLast"
Det kanske kan hjälpa till.
Sådär, inga felmess!
men skriver ut det så här:
<%=Antal%>
Men den skriver inte ut något :/
Så här skrivs sql´n ut:
SQL: SELECT COUNT(mail_id) AS Antal, intTillid, intLast FROM mail WHERE intTillid = 1 AND intLast=0 GROUP BY intTillid, intLast
SQL = "SELECT COUNT(id) AS Antal,user, kon, alder, loggain, id, intFoto FROM anv WHERE intFoto = 1 ORDER BY loggain desc"
Set RS = Connect.Execute(SQL)
Men får:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
Oj, menade samma sätt att räkna poster, på en annan SQL-sats!
Men har pillat lite.. och fått den att säga:
ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/main.asp, line 0
Och så här ser min SQL-sats ut:
SQL = "SELECT COUNT(id) AS Antal, user, kon, alder, loggain, id, intFoto FROM anv WHERE intFoto = 1 GROUP BY loggain DESC"
Set RS = Connect.Execute(SQL)
Och det är när jag skriver ut som jag får felmesset! <%=rs("Antal")%>
Din group by är helt fel. Alla kolumner i select-listan som inte är med i en aggregatfunktion måste vara med i group by.
SQL = "SELECT COUNT(id) AS Antal, user, kon, alder, loggain, id, intFoto FROM anv WHERE intFoto = 1 GROUP BY user, kon, alder, loggain, id, intFoto DESC"
Set RS = Connect.Execute(SQL)
Din group by är helt fel. Alla kolumner i select-listan som inte är med i en aggregatfunktion måste vara med i group by.
SQL = "SELECT COUNT(id) AS Antal, user, kon, alder, loggain, id, intFoto FROM anv WHERE intFoto = 1 GROUP BY user, kon, alder, loggain, id, intFoto DESC"
Set RS = Connect.Execute(SQL)
Okej, fixat de, men samma fel. Fixade Jesper T´s kod, och då skriver den ut Här va de tomt..
Men asså jag vet ju att det finns poster, eftersom den skriver ut dom några rader upp :/
Skickar med ett txt dokument på dom rörande koderna så får ni se! Tack på förhand!
Ampy:
eftersom du har loopat igenom hela recordsetet finns det ingen rad/post kvar, därför kunde du inte skriva ut antal, vad movefirst gör är att den hoppar tillbaka till första steget så då kan du skriva ut antalet
Tack ampy!
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e