0

我这里有问题vb.net

我这里有一个程序连接到一个数据库,表上有字段(,,, idnamequantitytbl_report

我的程序的一部分是删除一个ID等于所选项目的记录cbOrderNo

cbOrderNo 的项目是表中的 ID。所以当一条记录被删除时,cbOrderNo应该会扣除一些项目。

因此,例如,表中有 4 条记录,因此在表单加载期间将有 4 个项目cbOrderNo,当用户在组合框中选择 1 个项目时,将删除一条记录,因此将留下 3 条记录,因此 3中的项目cbOrderNo

我的程序正在做的是,在留下 3 条记录后,组合框中仍然会有 4 项。我想要的是在那里只显示 3 个项目。

Dim qryDelete As String = "DELETE FROM tbl_report WHERE ID=" & cbOrderNo.SelectedItem & ""
ExecNonQuery(qryDelete)
MsgBox("Record Deleted")
query.Close()

cbOrderNo.Items.Clear()
cmd.CommandText = "SELECT * FROM tbl_report ORDER BY ID"
cmd.Connection = con
Dim rdrOLEDB As OleDbDataReader = cmd.ExecuteReader
While(rdrOLEDB.Read())
     cbOrderNo.Items.Add(rdrOLEDB.GetValue(0))
    MsgBox(cbOrderNo.Items.Count)
End While
MsgBox(cbOrderNo.Items.Count)
cbOrderNo.SelectedIndex = 0
rdrOLEDB.Close()
4

1 回答 1

0

试试这个...

Dim qryDelete As String = "DELETE FROM tbl_report WHERE ID=" & cbOrderNo.SelectedItem & ""
ExecNonQuery(qryDelete)
MsgBox("Record Deleted")
query.Close()

cbOrderNo.Items.Remove(cbOrderNo.SelectedItem) 'there is no point in recalling the database, just remove it from the list.
于 2013-02-22T21:57:25.043 回答