1

Classic ASP で SQL Server からの結果を HighCharts データセットに取り込もうとしていますが、構文を正しく取得できないようです。これは私のカスタマイズの非常に基本的な始まりです。データセットのレンダリングを取得すると、そこからすべてが簡単になると思います。

以下のループは正しく機能しており、sproc からデータを正しく取得しています。私の問題はdata[]、実際のvar options =セクションのセクションにあると思います

dim xAxisData()
dim yAxisData()
j = 0               
    adoRsGraph.MoveFirst

if adoRsGraph.EOF = false then

    Do Until adoRsGraph.EOF
        reDim xAxisData(j)
        reDim yAxisData(j)
            xAxisData(j) = adoRsGraph("Value")
            yAxisData(j) = adoRsGraph("Date")

        j = j + 1
        adoRsGraph.MoveNext
    Loop

end if



$(function () { 
        var options = {
        chart:{
            type:'line',
            renderTo: 'chartContainer'               
            },
        xAxis: {
            categories: ['Apples','Bananas','Oranges']
        },
        yAxis: {
            title:{
                text: 'Assets'          
            }
        },
        series: [{
            name: 'Dates',
            data: [<% For Each item In yAxisData    Response.Write(item & ",") Next %>],
            color: '#006600'
        }]
    }
var chart3 = new Highcharts.Chart(options); 
});

受信エラー;

Microsoft VBScript compilation 
Description:Expected end of statement
Line:90

90行目は;

data: [<% For Each item In yAxisData    Response.Write(item & ",") Next %>],
4

1 に答える 1

4

IMHO データをカンマ区切りのリストに変換するロジックを関数に分割する方が良いと思います。preserve配列をリダイムするときにも追加しました。そうしないと、データが失われます。

dim xAxisData()
dim yAxisData()
j = 0               
    adoRsGraph.MoveFirst

if adoRsGraph.EOF = false then
    Do Until adoRsGraph.EOF
        reDim preserve xAxisData(j)
        reDim preserve yAxisData(j)
        xAxisData(j) = adoRsGraph("Value")
        yAxisData(j) = adoRsGraph("Date")

        j = j + 1
        adoRsGraph.MoveNext
    Loop
end if

$(function () { 
    var options = {
    chart:{
        type:'line',
        renderTo: 'chartContainer'               
        },
    xAxis: {
        categories: ['Apples','Bananas','Oranges']
    },
    yAxis: {
        title:{
            text: 'Assets'          
        }
    },
    series: [{
        name: 'Dates',
        data: [<%= GetYAxisData() %>],
        color: '#006600'
    }]
}
var chart3 = new Highcharts.Chart(options); 
});

投稿した元のコードFor Each item In yAxisData Response.Write(item & ",")では、最後に余分なコンマ (,) が作成され、予期しない動作が発生しました。Join() 関数を使用することは、より良いオプションだと思います。

function GetYAxisData()
    GetYAxisData = Join(yAxisData, ",")
end function
于 2013-10-29T14:08:09.277 に答える