将组合框与数据库值

时间:2016-05-04 13:11:54

标签: sql vb.net

我试图将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它可行,但我想将其分组而不是显示所有数据

1 个答案:

答案 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