我试图将ComboBox与数据库值链接但在调试之后它给了我一个与System.IndexOutOfRangeException相关的错误。这是我现在正在使用的以下代码
SQLCon = New SqlConnection
SQLCon.ConnectionString = "..."
Try
SQLCon.Open()
Dim Query As String
Query = "SELECT Filetype FROM infofile GROUP BY Filetype"
SqlCmd = New SqlCommand(Query, SQLCon)
SQLDataReader = SqlCmd.ExecuteReader
While SQLDataReader.Read
Dim fileType = SQLDataReader.GetString(1)
ComboBox1.Items.Add(fileType)
End While
SQLCon.Close()
Catch ex As SqlException
MsgBox(ex.Message)
Finally
SQLCon.Dispose()
End Try
错误发生在Dim fileType = SQLDataReader.GetString(1)
我知道为什么会发生这种情况,因为如果我使用SELECT * FROM infofile
它可行,但我想将其分组而不是显示所有数据
答案 0 :(得分:0)
GetString()
采用从0开始的索引号。当您只选择一列时,您要求它为您提供第二个元素(索引号1)。没有第二个元素。将1更改为0。
有关GetString
方法的更多信息:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getstring%28v=vs.110%29.aspx