尽管OLEDB类可以使用命名参数,但实际上只是使用’?’。标记在背景中,因此参数按INDEX顺序排列。您的sql的ID变量位于Subsp变量之前。
像这样切换它:
For Each match As Long In choices
command_sbsp.Parameters.Clear()
command_sbsp.Parameters.AddWithValue("@ID", match)
command_sbsp.Parameters.AddWithValue("@Subsp", word)