0
Try
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
conn.Open()
dbQuery = "select * from main_table"
myCommand.CommandText = dbQuery
myCommand.Connection = conn
Dim myReader As MySqlDataReader
myReader = myCommand.ExecuteReader()
While myReader.Read()
row_count = row_count + 1
End While
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
MessageBox.Show(row_count)
conn.Close()
上記のコードを実行すると、正しい行数が表示されます。しかし、私はデータを一度に1行でarraylistに取得しようとしています。以下のコードを使用してもエラーは表示されませんが、最初の行を読み込み、実行を停止します。MYSQLデータリーダーからvb.netのarraylistにデータを取得するには
Try
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
conn.Open()
dbQuery = "select * from main_table"
myCommand.CommandText = dbQuery
myCommand.Connection = conn
Dim myReader As MySqlDataReader
myReader = myCommand.ExecuteReader()
While myReader.Read()
For x As Integer = 0 To myReader.FieldCount
col_array.Add(myReader.GetString(x))
Next
End While
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
conn.Close()
最初の行が読み込まれた後、それが停止している理由を私は理解していない
DataTableを入力するだけではどうですか? DTは、特にDB DataRowを保持するように設計されており、そこからカウントを取得できます。 – Plutonix
forループは、FieldCountに0を使用します。最初の行の最後にIndexOutOfRangeExceptionを与えていますか? –
@Plutonix、私は配列を使用する必要があります。 – user2721815