Vb.net Can';代码本身成功后,是否看不到列表框中的项目?
为什么每当我运行这段代码时,它在数据库中运行得很好,但当我查看列表框时,我放在其中的所有项目都消失了?例如,当我放置3个项目时,当我检查数据库时,执行下面的代码,它更新得很好,但列表框本身变为空。它显示了一个错误,该索引是不可接受的 这是我的密码:Vb.net Can';代码本身成功后,是否看不到列表框中的项目?,vb.net,Vb.net,为什么每当我运行这段代码时,它在数据库中运行得很好,但当我查看列表框时,我放在其中的所有项目都消失了?例如,当我放置3个项目时,当我检查数据库时,执行下面的代码,它更新得很好,但列表框本身变为空。它显示了一个错误,该索引是不可接受的 这是我的密码: For i As Integer = 0 To ListBox1.Items.Count - 1 Dim l_text As String = CStr(ListBox1.Items(i))
For i As Integer = 0 To ListBox1.Items.Count - 1
Dim l_text As String = CStr(ListBox1.Items(i))
MysqlConn.ConnectionString = ServerString
Dim dbDataSet As New DataTable
Dim SDA As New MySqlDataAdapter
Dim bSource As New BindingSource
Dim READER As MySqlDataReader
Dim query As String
MysqlConn.Open()
query = "select * from test.subject where subject_name= '" + l_text + "'"
COMMAND = New MySqlCommand(query, MysqlConn)
READER = COMMAND.ExecuteReader
While READER.Read
slot = READER.GetInt32("subject_slot")
slot = slot - 1
Label1.Text = ""
Label5.Text = ""
End While
MysqlConn.Close()
MysqlConn.Open()
query = "UPDATE test.subject SET subject_slot='" & slot & "' WHERE subject_name= '" + l_text + "'"
COMMAND = New MySqlCommand(query, MysqlConn)
READER = COMMAND.ExecuteReader
ListBox1.Items.Clear()
MysqlConn.Close()
Next
MsgBox("ENROLLMENT SUCCESSFUL")
MsgBox("ALL SUBJECTS SELECTED ARE ENROLLED")
load_table()
你真的想过你在那里想要实现什么吗?看看这两行代码。这是您的循环:
For i As Integer = 0 To ListBox1.Items.Count - 1
在这个循环中有一条线:
ListBox1.Items.Clear()
如果在循环的第一次迭代中清除列表框
,那么在第二次迭代中使用的索引(即1)当然将无效。任何索引都将无效,因为没有任何项是由于您清除的
你需要停下来想想这个循环到底应该做什么。如果需要的话,拿起笔和纸写下来,但是你的代码毫无意义,因为你没有费心阅读/调试代码以确认它是否符合你的期望,或者你的期望本身是毫无意义的。请将代码作为文本发布。还有错误消息。如果您需要帮助,请发布实际代码,没有人可以剪切和粘贴图像。