Ciao,
diciamo che anche il datatable alla fin fine usa un datareader, non so se intendi per "datatable" un datable tipizzato creato da designer, quindi con TableAdapters.
Cmq si, il caricamento usa un datareader, con un codice tipico come questo:
DataTable table = new DataTable ();
using(DbConnection cn = DbHelper.GetConnection() )
{
DbCommand cmd = cn.CreateCommand();
cmd.CommandText = "SELECT ....";
cn.Open();
DbDataReader rd = cmd.ExecuteReader();
table.Load(rd);
}
return table;
come vedi, viene tornata una datatable, ma usa un Reader, alla fin fine questo è quello che fa anche il dataset tipizzato nel codice generato dietro all'aspetto grafico.
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo