En mi blog tengo un articulo que te puede servir el codigo lo explico en c# pero al final podes descargar el ejemplo en vb.net.
Guardar Datos de Consulta a una BD en Variables
Siempre lo he dicho lo mejor es trabajar con métodos o funciones así reutilizas el código.
En el articulo uso datatable(aunque también podes usar datareader).
En tu caso tendrías una función de esta forma.
Código vb.net:
Ver originalPublic Function Buscar(ByVal filtro As String) As DataTable
Dim dt As New DataTable()
cnString = "datasource=localhost;username=user;password=;database=database"
Dim consulta As String = "SELECT * FROM tabla WHERE codigo LIKE '%'+@filtro+'%'"
Dim comando As New MySqlCommand (consulta, cnString)
comando.Parameters.AddWithValue("@filtro", filtro)
Dim adap As New MySqlDataAdapter(comando)
adap.Fill(dt)
Return dt
End Function
Ahi recuperarías los datos de tu consulta
Ahora para guardar los datos de la consulta en variables arias así.
Código vb.net:
Ver originalDim dt As DataTable = Buscar(textBox1.Text)
'si encuentra el dato guardo los datos en las variables
If dt.Rows.Count > 0 Then
Dim row As DataRow = dt.Rows(0)
'guardo datos en variables
apellido = Convert.ToString(row("Apellido"))
edad = Convert.ToInt32(row("Edad"))
Else
MessageBox.Show("No Existe", "Registro")
End If
En el código guardo en 2 variables el campo apellido y edad de la consulta, ahí tu especificas las columnas que quieras recuperar.
Y si quieres guardar los datos en un array en todo caso yo te diría que mejor uses listas genéricas.