2016-05-04 9 views
1

コンボボックスをデータベース値とリンクしようとしていますが、デバッグ後にエラーが発生しました.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 

エラーは、私がSELECT * FROM infofileを使用している場合、それは動作しますので、私は、これが起こっている理由を知っDim fileType = SQLDataReader.GetString(1)

発生するが、私が代わりにグループそれにしたいですofのすべてのデータを表示します

答えて

0

GetString()は0から始まるインデックス番号をとります。 1つの列だけを選択したときに、2番目の要素(インデックス番号1)を与えるように求めています。 2番目の要素はありません。 GetString法上の0

詳細情報への変更1:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getstring%28v=vs.110%29.aspx

+0

が、私はそれを得ました。私は私の問題を解決し、私はGetString(0)を使用しました –

+0

あなたは別のもので私を助けることができますか? –

+0

別の質問を投稿すると、誰かがあなたを助けることができるでしょう、それは私であるかどうかです。 –

関連する問題