Bosse168Medlem sedan nov. 20031 018 inlägg Någon som vet vad det är för fel på denna koden den visar inte dagens inlägg fast det har kommit in nya.
databasen är MySQL
sql2 = "SELECT 'postid' , COUNT(postid), 0 from forumpost WHERE diskusid = '"& Rs("diskusid") &"'"& _
" union all"& _
" SELECT 'postid', COUNT(postid),0 FROM forumpost WHERE diskusid = '"& Rs("diskusid") &"'"& _
" AND datum>'" & DateAdd("d",-1,Date()) & "'"
set rsT = connect.execute(sql2)
response.write "Totalt: " & rsT(1) & " <br>Idag: " & rsT(2)
rsT.Close : Set rsT=nothing
Jesper TMedlem sedan nov. 20017 144 inlägg 1. Varför SELECT 'postid'... och inte SELECT postid...?
2. Varför diskusid = '"& Rs("diskusid") &"'"& _... och inte diskusid = "& Rs("diskusid") & _...?
LarsGMedlem sedan dec. 200012 464 inlägg Jag skulle gissa att problemet hör samman med datumformat. Mysql kan enbart hantera yyyymmdd eller yyyy-mm-dd. Du kan ju skriva ut den färdiga frågan och se.
Det är bättre att använda de datumfunktioner som finns i SQL direkt.
sql2 = "SELECT 'postid' , COUNT(postid) from forumpost WHERE diskusid = '"& Rs("diskusid") &"'"& _
" union all"& _
" SELECT 'Dagens', COUNT(postid),0 FROM forumpost WHERE diskusid = '"& Rs("diskusid") &"'"& _
" AND datum> add_date(current_date,interval -1 day)
Jag håller också med Jesper att om diskusid är en numerisk kolumn så skall du inte ha ' omkring värdet.
Bosse168Medlem sedan nov. 20031 018 inlägg och har tagit bort '
men jag får detta fel mess:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(current_date,interval -1 day)' at line 1
använder MySQL 4
Engine^Medlem sedan dec. 20003 887 inlägg Heter inte funktionen DATE_ADD() el. ADDDATE()?
LarsGMedlem sedan dec. 200012 464 inlägg Jo, adddate skall det vara. Jag skyller på att Mysql inte följer standard utan hittar på egna funktioner helt i onödan.
Jesper TMedlem sedan nov. 20017 144 inlägg Adddate.... trippelstavning?! :o
Bosse168Medlem sedan nov. 20031 018 inlägg nu får jag detta fel mess istället:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[TCX][MyODBC]The used SELECT statements have a different number of columns
@ndersMedlem sedan juni 200032 969 inlägg Då får du väl se till så det är lika många kolumner i de båda SELECT-frågorna i din UNION. Prova att ta bort ,0 från den andra.
Bosse168Medlem sedan nov. 20031 018 inlägg Det funkade men när jag sedan försöker skriva ut dom blir det knas:
response.write "Totalt: " & rsT(0) & " <br>Idag: " & rsT(1)
Då dlir det så här:
Totalt: postid
Idag: 1636
@ndersMedlem sedan juni 200032 969 inlägg Det är för att datat inte ser ut så. :)
Det är ju två olika poster, inte olika kolumner.
response.write "Totalt: " & rsT(1)
rsT.movenext
Response.write " <br>Idag: " & rsT(1)
Mvh