public DataTable GetDataTable(string query) { // - Init - DataTable dataTable = new DataTable(); SqlDataReader sDR = ExecuteReader(query); // - Building datatable - for (int i = 0; i < sDR.FieldCount; i++) { dataTable.Columns.Add(new DataColumn(sDR.GetName(i), SQLType.GetType(sDR.GetDataTypeName(i)))); } // - Start loading data (remove all index, constraints...) - dataTable.BeginLoadData(); // - Fill datatable - dataTable.Load(sDR, LoadOption.OverwriteChanges); // - Stop loading data (Re-Apply all index, constraints...) - dataTable.EndLoadData(); // - Prevent datatable storing several versions of rows - dataTable.AcceptChanges(); // - Free memory - CloseOpenedQuery(sDR); // - Return result - return(dataTable); }
static public Type TryGetType(object data) // Type { return(SQLType.GetType((string)data)); }