2012-08-14 66 views
2

我使用基於數據庫數據的谷歌圖表框架...記錄集,檢查的最後一個記錄

我需要生成等相關的輸出:

([ 
    ['Year', 'ON', 'OFF', 'X1', 'X2'], 
    ['Jan/12', 2, 5,  10,   9], 
    ['Fev/12', 5, 10,  54,   10], 
    ['Mar/12', 10, 36,  15,   10] 
]); 

注意,最後一行做沒有逗號。我的代碼如下所示:

([ 
    ['Year', 'ON', 'OF', 'X1', 'X1'], 
    <% 
     WHILE NOT DB.EOF 
     ON= DB("ON") 
     OFF= DB("OFF") 
     X1= DB("X1") 
     X2= DB("X2") 
    %> 
     ['<% Response.Write Month %>/<% Response.Write Year %>', <% Response.Write ON %>, <% Response.Write OFF %>, <% Response.Write X1 %>, <% Response.Write X2 %>, 
    <% 
     DB.MOVENEXT 
     WEND 
    %> 
]); 

我的問題:我如何檢查當環路走到最後一行,而不是把逗號,把剛纔什麼?

謝謝!

回答

2

AnthonyWJones的答案似乎確定了我,但你也可以問內循環,如果移動後,下次你在EOF是沒有,那麼你寫「」

([ 
    ['Year', 'ON', 'OFF', 'X1', 'X2'] 
    <% Do While Not DB.EOF %> 
     [ 
     '<%= Month %>/<%= Year %>', 
     <%= DB("ON") %>, 
     <%= DB("OFF") %>, 
     <%= DB("X1") %>, 
     <%= DB("X2") %> 
     ] 
     <% 
     DB.MoveNext 
     %> 
     <% If Not DB.EOF Then %> 
      , 
     <% End If %> 
    <% Loop %> 
]); 

;-)

+0

感謝您的幫助。 – Khrys 2012-08-15 12:47:01

+0

歡迎您:) – vegetable 2012-08-16 09:28:49

1

您得到RecordCount = -1,因爲只有前向記錄集不知道有多少記錄還未到來。

這裏採用的方法是在循環的頂部插入一些內容。

([ 
    ['Year', 'ON', 'OFF', 'X1', 'X2'] 
    <% 
     Do While Not DB.EOF 
      Response.Write ", " & vbCrLf 

      Response.Write " ['" & Month & "/" & Year & "', " & DB("ON") & ", " & DB("OFF") & ", " & DB("X1") & ", " & DB("X2") & "]" 

      DB.MoveNext 
     Loop 
    %> 
]); 
+0

謝謝你的幫助! – Khrys 2012-08-15 12:48:07