索引超出范围异常未处理的vb.net

时间:2013-10-31 08:17:51

标签: vb.net

我刚刚遇到了我的代码问题。它引发了异常。这是代码。

conn = oSubPayItemDescription.GetDbConnection()
md = New OleDbCommand("SELECT [sub_pay_item_quantity].[quantity],[sub_pay_item_unit_rate].[rate] FROM " &
    "[sub_pay_item_quantity],[sub_pay_item_unit_rate] WHERE [sub_pay_item_quantity].[sub item]=[sub_pay_item_unit_rate].[sub item] AND " &
    "[sub_pay_item_quantity].[sub item]='" & subItem & "' AND [sub_pay_item_quantity].[bridge type]='" & bridgeType & "' " &
    "AND [sub_pay_item_quantity].[span]='" & span & "'", conn)

data_reader = cmd.ExecuteReader()

If data_reader.HasRows = True Then
    Do While data_reader.Read()
        payItem = CDbl(data_reader.Item("pay item"))
        subpayItem = CDbl(data_reader.Item("sub pay item"))
        subItem = data_reader.Item("sub item")
        unit = data_reader.Item("unit")
        bridgeType = data_reader.Item("bridge type")
        span = (data_reader.Item("span").ToString())
        quantity = CDbl(data_reader.Item("quantity"))
        rate = CDbl(data_reader.Item("rate"))

        RichTextBox1.AppendText(payItem & vbTab & vbTab & " " & " " & subpayItem & vbTab & vbTab & subItem & vbTab & vbTab & " " & _
            unit & vbTab & vbTab & " " & " " & " " & " " & bridgeType & vbTab & vbTab & " " & span & vbTab & _
            "" & vbTab & " " & quantity & vbTab & rate & vbNewLine)
    Loop
Else
    MsgBox("Unit rate does not exist", vbCritical, "Bridge Construction Cost Estimate")
End If

当它到达指示付费项目的do while循环时,它会引发异常。

1 个答案:

答案 0 :(得分:2)

因此,DataReader the documentation建议不存在指定的名称:

IndexOutOfRangeException:找不到具有指定名称的列

我无法在您的查询中看到此列。您只选择quantityrate