0
プログラムを実行してリストボックス内の何かをクリックしようとすると、このエラーが発生します。Visual Basic - IndexOutOfRangeExceptionエラー
IndexOutOfRangeExceptionが処理されませんでした インデックスが配列の境界外でした。
マイコードとそれにエラーが(> <でマーク)部分:それはlbl_id1.textでエラーをしませんが、それはlbl_rank1.textでないこと
Dim conn As MySqlConnection
conn = New MySqlConnection("server=db4free.net;port=3306; user id=*******; password=**********; database=*******")
Dim sqlquery As String = "SELECT * FROM UTGAccess"
Dim adapter As New MySqlDataAdapter
Dim data As MySqlDataReader
Dim command As New MySqlCommand
conn.Open()
command.CommandText = sqlquery
command.Connection = conn
adapter.SelectCommand = command
data = command.ExecuteReader
While data.Read()
ListBox1.Items.Add(data(1).ToString)
ListBox3.Items.Add(data(0).ToString)
Dim writer As New System.IO.StreamWriter(My.Application.Info.DirectoryPath + "/" + data(1).ToString + "=" + data(0).ToString + ".txt", False)
writer.Write(data(3).ToString + "=" + data(0).ToString)
writer.Close()
End While
data.Close()
conn.Close()
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
ListBox3.SelectedIndex = ListBox1.SelectedIndex
Dim reader As New System.IO.StreamReader(My.Application.Info.DirectoryPath + "/" + ListBox1.SelectedItem.ToString + "=" + ListBox3.SelectedItem.ToString + ".txt")
Dim splitread() As String = reader.ReadToEnd.Split("=")
reader.Close()
> lbl_rank1.Text = "Rank: " + splitread(3).ToString <
lbl_id1.Text = "ID: " + splitread(0).ToString
End Sub
注意。 IDはサイト上のINTであり、ランクはVARCHARです。どちらも数字です。
「Debug my code for me」の質問は実際にはここには載っていません。 –
なぜファイルに書き込んだ後にファイルから読み込むのですか?なぜそれをデータテーブルにロードしないのですか?ファイルが必要な場合でも、ファイルをテーブルにロードし、ファイルに書き込み、テーブルから読み込みます。 – Jesse