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
    %>
]);

我的问题:如何检查循环何时到达最后一行,而不是放逗号,什么都不放?

谢谢!

4

2 回答 2

3

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 %>
]); 

;-)

于 2012-08-15T10:46:35.653 回答
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 
    %> 
]); 
于 2012-08-14T21:29:56.647 回答