Efectivamente,el Datareader corresponde a un modelo de datos conectados,y gracias a ADO.NET podemos usar el modelo de datos desconectado con el Dataset que es altamente recomendable.Respecto al Datatable que ha mencionado Charmander sería de la siguiente manera:
-------------------------------------------------
1ºPor ejemplo tienes un Datagrid y un botón para llenar el datagrid
2ºAl hacer click en el boton:
Dim otabla as Datatable
otabla= odataset.Tables("NOMBRE_DE_LA_TABLA_CON_LA_QUE_VAY AS_A_LLENAR_EL_DATAGRID")
Datagrid1.DataSource = otabla
-------------------------------------------------
Asi se llenaría con un Datatable,sustituyendo datagrid1 por el nombre de tu datagrid y odataset por el nombre de tu Dataset

^
Espero ke te haya sido de ayuda,un saludo!