Vb.net -对象引用未设置为对象的实例

Vb.net -对象引用未设置为对象的实例,vb.net,object,ado.net,updating,Vb.net,Object,Ado.net,Updating,伙计们,当我运行下面的代码时,我得到了这个错误:-对象引用未设置为对象的实例。所有内容都已初始化,数据库中没有空字段,请帮助 Dim con作为新的OLEDB连接 Dim cmd2 As New OleDbCommand con.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\mydb.accdb") cmd2.CommandText = "update

伙计们,当我运行下面的代码时,我得到了这个错误:-对象引用未设置为对象的实例。所有内容都已初始化,数据库中没有空字段,请帮助

Dim con作为新的OLEDB连接

        Dim cmd2 As New OleDbCommand
        con.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\mydb.accdb")

        cmd2.CommandText = "update items set itmbrcd=@p5,itemname=@p1,itemprice=@p2,itemGroup=@group,remarks=@p3,vat=@p6 where itmcode=@p4"
        cmd2.Connection = con
        con.Open()

        cmd2.Parameters.AddWithValue("@p5", ItmBrcdTextBox.Text)
        cmd2.Parameters.AddWithValue("@p1", ItemNameTextBox.Text)
        cmd2.Parameters.AddWithValue("@p2", ItemPriceTextBox.Text)
        cmd2.Parameters.AddWithValue("@group", ItemGroupComboBox.SelectedItem.ToString)
        cmd2.Parameters.AddWithValue("@p3", RemarksTextBox.Text)
        cmd2.Parameters.AddWithValue("@p4", ItmcodeTextBox.Text)
        cmd2.Parameters.AddWithValue("@p6", VatNumericUpDown.Value)

        cmd2.ExecuteNonQuery()
        MsgBox("item updated!")
        con.Close()

正如Proputix所提到的,当组合框中未选择任何内容时,在下一行中会出现此错误。检查combo1.SelectedItem是否为空

cmd2.Parameters.AddWithValue("@group", ItemGroupComboBox.SelectedItem.ToString)

另外,当我将“vat”字段添加到数据库时,它停止了工作,之前一切正常,插入和删除正在工作。它发生的那行应该告诉你很多。我猜组合框中没有选择任何内容。您也以错误的顺序添加了最后几个参数。可能是@puropoix的重复。这不起作用,但无论如何还是要感谢@puropoix调试这些行时没有返回错误,请考虑更新数据集的问题