2015-10-05 65 views
1

的界限我与SQL SUM函数VB.net SUM:错误索引是阵列

我得到了错误的问题外:

指数数组的边界之外。

我的代码:

SQLcmd = New SqlCommand("SELECT SUM(CAST(distance AS Numeric(10, 1))) FROM route WHERE id BETWEEN '" & op.departure_id & "'AND '" & op.arrival_id & "'", SQLCon) 

Dim r As SqlDataReader = SQLcmd.ExecuteReader 

    While r.Read() 
     distance = r(3).ToString() 
    End While 

的错误是在distance = r(3).ToString()

+1

你有没有测试,如果在3位元素有和? –

+2

该查询只返回一个字段。你为什么试图阅读索引3处的字段?您只能使用索引0 – Steve

+0

是的。位置3是距离柱体 –

回答

1

此查询选择单个柱 - SUM(CAST(distance AS Numeric(10, 1)))。你应该和指数0,不3访问:

While r.Read() 
    distance = r(0).ToString() 
    ' Use distance somehow... 
End While