webForumDet fria alternativet

SQL/VBScript

8 svar · 287 visningar · startad av Karin_Parin

Karin_ParinMedlem sedan okt. 200332 inlägg
#1

Godmorgon!
Har ett problem...med det här scriptet..
trots att det finns värden i databasen och anslutningen är rätt (för jag har lyckats hämta alla värden) men själva funktionen
tmpDate = DateAdd("d", -1,now()) vill inte fungera, vad kan tänkas att jag gör för fel...
Supertacksam för all hjälp!:)

<%
StartTime = now 'när sidan startades
tmpDate = DateAdd("d", -1,now())

Set objCommand= Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConn
objCommand.CommandType = adCmdText

SQL = "SELECT COUNT(HitsID) as CNT FROM tblHits WHERE Datum BETWEEN '" & Now() & "' AND '"& tmpDate &"' "
Set objRS = objConn.Execute(SQL)
DayUsers= objRS("CNT") 
objRS.Close 
Set objRS = Nothing
objConn.Close : Set objConn = Nothing

%>

<body>Den senaste dagen har <%=DayUsers%> varit inne på test.asp
</body>
Engine^Medlem sedan dec. 20003 887 inlägg
#2

Morrn morrn

Du skapar ett objCommand, men du använder objConn...

Annars så ska väl inte Now ha några paranteser.

Sedan så är det väl lite förvillande att du använder Now, eftersom det inte, som du har det nu, ger den senaste dagens besökare utan dom senaste 24 timmarnas besökare...

SQL = " SELECT Count(HitsID) As CNT FROM tblHits WHERE Datum >= '" & DateAdd("d", -1, Date) & "'"

Brasklapp: Om du använder Access tidigare än 2002 ska ditt datum vara omslutet av #.

Karin_ParinMedlem sedan okt. 200332 inlägg
#3

Ok..förvirrad verkar jag vara..men det är ju måndag trots allt..
Har iaf gjort så här

Day(Datum)  
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Day(Datum) = Day('" & Now() & "') GROUP BY PageID ORDER BY PageID"
Set objRS = objConn.Execute(SQL)
Response.Write"<b>Antal hits idag :</b> " & (Year(Date()) & "-" & Right("0" & Month(Date()), 2) & "-" & Right("0" & Day(Date()), 2))& "<BR>"
Do While Not objRS.EOF
Response.Write"<table ><tr><td>" & (objRS("PageID"))& "</td>"
Response.Write"<td><b>Antal besökare:</b></td><td>" & (objRS("antal"))& "</td></tr></table>"
objRS.MoveNext
loop

vilket fungerar alldeles utmärkt men nu undrar jag om det finns någon som kan förklara hur jag gör för att få ut antal besökare senaste timmen från en SQL databas.
Tack så länge!

Engine^Medlem sedan dec. 20003 887 inlägg
#4
SELECT PageID, Count(*) AS antal
FROM tblHits
WHERE Hour(Datum) >= Hour(Now()) - 1 AND Date(Datum) = Date()
GROUP BY PageID
ORDER BY PageID

Kan det bli rätt?

Karin_ParinMedlem sedan okt. 200332 inlägg
#5

Ok, nu har jag provat med följande SQL sats..

SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Hour(Datum) = Hour('" & Now() & "') GROUP BY PageID ORDER BY PageID"

men då får jag dock följande felmeddelande ...
'Hour' is not a recognized function name.

@ndersMedlem sedan juni 200032 969 inlägg
#6

I SQL Server finns mig veterligen inte funktionen Hour() (eller andra besläktade funktioner), utan du får använda dig av DatePart().

SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE DatePart(hour, Datum) = DatePart(hour, '" & Now() & "') GROUP BY PageID ORDER BY PageID"

red: Du behöver inte heller bryta strängen för att lägga in ett asp-now(), utan du kan gott köra med getdate() eller current_timestamp direkt i SQL-frågan.

Om det inte är tidsskillnader mellan webserver och databasserver och det verkligen är webserverns tid du vill åt.

Mvh

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Aäee... du sa ju att det var SQL-Server...

SELECT PageID, Count(*) AS antal
FROM tblHits
WHERE DatePart(hour, Datum) >= DatePart(hour, GetDate()) - 1 AND Datum = GetDate()
GROUP BY PageID
ORDER BY PageID

red.
Glömde - 1 :)

Karin_ParinMedlem sedan okt. 200332 inlägg
#8

Ok, tack @nders, nu fungerar det kanoners!
Men nu har jag en till undran...Har ett fält i db där veckonummer lagras och nu skulle jag vilja få ut antal hits den senaste veckan..men jag får inte till det...fältet där vecka sparas heter VeckoNummer i db ..
Det är väl fel i WHERE DatePart..hur ska jag skriva..hmmm..

SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE DatePart("ww",'"& now &"',VeckoNummer) = DatePart(ww, '" & Now() & "') GROUP BY PageID ORDER BY PageID"
Karin_ParinMedlem sedan okt. 200332 inlägg
#9

Var visst inte riktigt med i matchen igår..så här var det visst bara att skriva

SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE VeckoNummer = DatePart(ww,'" & Now() & "') GROUP BY PageID ORDER BY PageID"

Tack för er hjälp!

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)