0

次のエラーが表示されます。

Category:Microsoft VBScript runtime 
Description:Subscript out of range
Line:46

次のコードから:

<%
''*************************************************************************
''Created Date: 10/28/13
''Created By:   NG
''Description:  Test page for new highcharts charts replacing ChartFX for business trends
''History:      N/A
''*************************************************************************

'OPEN CONNECTION TO SQL SERVER
'-create objects
Set adoCon = Server.CreateObject("ADODB.Connection")
Set adoRsGraph = Server.CreateObject("ADODB.Recordset")
Set adoCom = Server.CreateObject("ADODB.Command")
'-open connection

'scon = "FILE NAME=" & server.MapPath("/d_support") & "\cfn_datastore_heracles.udl"
scon = "FILE NAME=" & server.MapPath("/d_support") & "\cfn_datastore.udl"

adoCon.Open sCon

adoCom.CommandType= 4
adoCom.ActiveConnection = sCon
'GET RECORDSET DATA NEEDED TO FILL IN THE ACCOUNT BALANCE CHART
'-call stored proc to retrieve data

    adoCom.CommandText="sp_Chart_AccountBalance3"
    adoCom.Parameters(1) = 21820

adoRsGraph.CursorLocation = 3
adoRsGraph.Open adoCom

dim xAxisData()
dim yAxisData()
j = 0               
    adoRsGraph.MoveFirst            
if adoRsGraph.EOF = false then

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

        j = j + 1
        adoRsGraph.MoveNext
    Loop
end if
%>

Line 46 が何であるかは完全にはわかりませんが、レコードセットのループ内にあるに違いないと思います。これを実行しているときにトレースを実行したところ、sproc が正しく呼び出されていることがわかりました。また、SQL サーバー内で実行しているときに、データセットにレコードが含まれているため、配列に値を割り当てるためにループが機能しないのはなぜですか?

4

1 に答える 1

1

2 つの配列を作成しましたが、サイズを指定するまで使用できません。

コマンドを使用してReDim、配列に値を入れる直前に配列のサイズを変更します。

ReDim xAxisData(j)
ReDim yAxisData(j)
于 2013-10-28T20:35:51.080 に答える