0

我在这里有一个代码,用于将记录保存到数据库:

If mstrMaintMode = "ADD" Then

    lngIDField = GetNextCustID()

    strSPName = "InsertCustomer"

    Set objNewListItem = mylistview.ListItems.Add(, , txtname.Text)
    PopulateListItem objNewListItem
    With objNewListItem
        **.SubItems(mlngCUST_ID_IDX) = CStr(lngIDField)**
        .EnsureVisible
    End With
    Set mylistview.SelectedItem = objNewListItem
    Set objNewListItem = Nothing
Else
    lngIDField = CLng(mylistview.SelectedItem.SubItems(mlngCUST_ID_IDX))

    strSPName = "UpdateCustomer"

    mylistview.SelectedItem.Text = txtname.Text
    PopulateListItem mylistview.SelectedItem
End If

错误是:带星号的行中的属性值无效。我尝试将此代码用于另一个数据库并且它可以工作,但对于另一个它不是。我检查了存储过程,它是正确的,表字段,也正确,但我仍然得到这个错误。我花了 3 小时找到答案但是我想不通。

4

1 回答 1

2

当您指定的子项索引超出列表视图中的列数时,您突出显示的行将失败并显示“无效的属性值”。

由于索引是基于 1 但从第二列开始,索引为 7,因此您至少需要添加 8 列。

于 2013-03-06T14:50:17.580 回答