次のエラーが表示されます。
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 サーバー内で実行しているときに、データセットにレコードが含まれているため、配列に値を割り当てるためにループが機能しないのはなぜですか?