当前位置: 代码迷 >> VB Dotnet >> VB新建的datarow出错说找不到列0
  详细解决方案

VB新建的datarow出错说找不到列0

热度:97   发布时间:2016-04-25 02:04:29.0
VB新建的datarow报错说找不到列0
用的是mysql的数据库
新建了一个datarow
代码如下
Dim newrow As DataRow = mytable2.NewRow
        Dim tempID As Integer
        Dim temprow As DataRow
        sqlstr = "SELECT * FROM productionrelationship"
        mydataset2 = GetDataFromDB(sqlstr)
        mytable2 = mydataset2.Tables.Item(0)
        If mytable2.Rows.Count > 0 Then
            temprow = mytable2.Rows.Item(mytable2.Rows.Count - 1)
            tempID = temprow.Item(2) + 1
        Else
            tempID = 1
        End If
        For a = 1 To i
            newrow.Item(0) = LabelArray1(a).Text
            newrow.Item(1) = FormPPS.Label2.Text
            newrow.Item(2) = tempID
            newrow.Item(3) = TextBoxArray(a).Text
            newrow.Item(4) = FormPM.objDate
        Next
现在newrow.item(0)这一行报错
------解决思路----------------------

Public Class Class1
    Sub MySub()


        Dim tempID As Integer
        Dim temprow As DataRow
        sqlstr = "SELECT * FROM productionrelationship"
        mydataset2 = GetDataFromDB(sqlstr)
        mytable2 = mydataset2.Tables(0)
        Dim newrow As DataRow = mytable2.NewRow
        If mytable2.Rows.Count > 0 Then
            temprow = mytable2.Rows.Item(mytable2.Rows.Count - 1)
            tempID = temprow.Item(2) + 1
        Else
            tempID = 1
        End If
        For a = 1 To i
            newrow.Item(0) = LabelArray1(a).Text
            newrow.Item(1) = FormPPS.Label2.Text
            newrow.Item(2) = tempID
            newrow.Item(3) = TextBoxArray(a).Text
            newrow.Item(4) = FormPM.objDate
        Next
        '现在newrow.item(0)这一行报错 0
    End Sub


因为,实例化表之前引用了newrow 当然发生错误。如上面已经帮您修改了。


------解决思路----------------------
你填充完mytable2后,在创建newrow,否则一开始就创建,是空的