2009-07-11 6 views
0

J'essaie d'énumérer les dernières visites par heure au cours des dernières 24 heures. Je pensais que le code suivant le ferait, mais j'obtiens le résultat ci-dessous. Une idée où je l'ai foiré?visites de la fiche dans les 24 dernières heures

[, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [ , 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [, 0], [ , 0], [, 0], [, 0], [, 0], [, 0],

Dim ListHours() 
HoursInCurrentDay = "24" 
Redim ListHours(HoursInCurrentDay) 
For Days = 0 To 23 
    ListHours(Hours) = Hours 
Next 
SQLARR2 = ListHours 
For x = 1 to ubound(SQLARR2) 
    SQL = "SELECT COUNT(DISTINCT VISITORIP) AS TOTALVISITS" 
    SQL = SQL & " FROM STATS" 
    SQL = SQL & " WHERE DATEPART(hh, GETDATE()) = '"& SQLARR2(x) &"' AND DATEENTERED BETWEEN CONVERT(VARCHAR(10), GETDATE()-1, 101) AND CONVERT(VARCHAR(10), GETDATE(), 101)" 
    Set objVisits = objConn.Execute(SQL)  

    If objVisits.EOF Then 
    Else 

    List = List + "[" & SQLARR2(x) & "," & objVisits("TOTALVISITS") & "]," 

    End If 
Next 

Response.Write List 

Répondre

1

recherche Au résultat fourni, je remarque que SQLARR2 (x) ne génère pas de valeur. Tous les résultats arrivent [, 0] où le premier élément (manquant) est l'heure et le second le nombre. Je ne pense pas que les valeurs ListHours sont correctement définies comme vous Heures variable ne pas une mission (pas dans l'extrait de toute façon.)

Si vous changez

For Days = 0 To 23   
    ListHours(Hours) = Hours 
Next 

à

For Days = 0 To 23   
    ListHours(Days) = Days 
Next 

les heures correctes doivent être ajoutées à votre liste. Cela devrait également corriger la requête (et le résultat de la requête) car SQLARR2 (x) est également utilisé pour créer le SQL dynamique.

J'espère que ça aide.

+0

merci beaucoup! –

+0

Je suis heureux d'aider. –

+0

+1 Bien taché – feihtthief

0

ne pourriez-vous simplement utiliser une requête simple comme:

SELECT * FROM VISITS WHERE (VISIT.TIME > now - 24hours AND VISIT.TIME < now) 
Questions connexes