2016-05-04 6 views
1

Ich versuche, eine ComboBox mit Datenbank-Werten zu verknüpfen, aber nachdem ich es debuggen gab es mir eine fehlerbezogene System.IndexOutOfRangeException. Hier ist der folgende Code, ich verwende jetztLink-Combobox mit Datenbankwerten

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 

Der Fehler tritt Dim fileType = SQLDataReader.GetString(1)

Ich weiß, warum dies geschieht, denn wenn ich die SELECT * FROM infofile verwenden es funktioniert, aber ich will es stattdessen Gruppe von zeigt alle Daten an

Antwort

0

GetString() nimmt eine 0-basierte Indexnummer. Sie bitten es, Ihnen das zweite Element (Indexnummer 1) zu geben, wenn Sie nur eine Spalte ausgewählt haben. Es gibt kein zweites Element. Ändern Sie die 1 auf eine 0

Mehr Infos auf der GetString Methode: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getstring%28v=vs.110%29.aspx

+0

ich es bekam. Ich löste mein Problem, ich habe GetString (0) –

+0

Kannst du mir mit einer anderen Sache helfen? –

+0

Posten Sie eine andere Frage, jemand wird Ihnen helfen können, ob ich es bin oder nicht. –

Verwandte Themen