La verdad, yo no entendí muy bien el codigo de Malayre, pero de todos modos respondo(espero que no sea demasiado tarde).
A mi me funciona así en una aplicacion para windows:
1._importa system.data.sqlclient (para no escribir tanto!)
2._Crea tu conexion.
3._Crea un sqlcommand con la consulta en cuestion.
4._Agrega los parametros necesarios a tu consulta(si son necesarios).
5_Ya que tienes todo esto:
comando.connexion = conexion ' establece la conexion que ocupará
'el comando.
dim dr as sqldatareader
conexion.open() 'abrir conexion
dr = comando.executeReader 'llenar el datareader con las tuplas devueltas
'por el comando
while dr.read 'Ciclo para agregar cada tupla a los controles que
'necesites.
para acceder a una columna en particular,usa:
dr.getstring(<numero de columna que quieras>)
'usa getstring para cadenas, o el tipo de dato de tu columna.
(Recuerda que un datareader, solo se lee en un sentido)
(No olvides cerrar la conexion)
Si usas un dataset:
usa:
dataset.tables(<nombre tabla>).rows(<numero de tupla>).item(<num_columna>)
Nota:estas instrucciones, no las copie y pegue de VB.net; por lo que puede que haya cometido errores de dedo, pero si tienes problemas, con gusto te mando el codigo que utilizo.
Saludos desde CD. Serdán Pue, Mexico