Io utilizzo questo per caricare i dati in qualsiasi datatable....

codice:
public class DBConnection
    {
        public DBConnection()
            {
            }
        public OleDbConnection ConnessioneDatabase()
            {
            try
                {
                    string connString = ConfigurationManager.AppSettings["stringaconn"];
                    OleDbConnection conn = new OleDbConnection(connString);
                    return conn;
                }
                catch (System.Data.OleDb.OleDbException ex)
                {
                    MessageBox.Show(ex.Message);
                    return null;
                }
            }

        public DataTable CaricaTabella(string query,DataTable dt)
        {
            try
            {
                OleDbConnection conn = ConnessioneDatabase();
                conn.Open();
                OleDbDataAdapter oledatabase = new OleDbDataAdapter(query, conn);
                oledatabase.Fill(dt);
                return dt;
            }
            catch (System.Data.OleDb.OleDbException ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
            catch (System.NullReferenceException EN)
            {
                MessageBox.Show(EN.Message);
                return null;
            }
            catch (System.InvalidOperationException IO)
            {
                MessageBox.Show(IO.Message);
                return null;
            }
        }
    }