private DataTable GetDataTable(string sqlStatement){ //- datatable variables int i = 0; int intNumCols = 0; DataTable dataTable = new DataTable(); DataTable dtCols; DataRow drow; // SqlConnection conn; conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLDB"].ConnectionString); try{ SqlCommand cmd = new SqlCommand(); cmd.CommandText = sqlStatement; cmd.Connection = conn; cmd.Connection.Open(); SqlDataReader dr; try{ dr = cmd.ExecuteReader(); dtCols = dr.GetSchemaTable(); intNumCols = dtCols.Rows.Count - 1; for (i = 0; i <= intNumCols; i++){ dataTable.Columns.Add(dtCols.Rows[i]["ColumnName"].ToString());//, dtCols.Rows[i]["DataType"].GetType()); } try{ while (dr.Read()){ drow = dataTable.NewRow(); for (i = 0; i <= intNumCols; i++){ drow[i] = dr[i].ToString(); } dataTable.Rows.Add(drow); } } catch (Exception e){ throw e; } finally{ dr.Close(); dr.Dispose(); dtCols.Rows.Clear(); } } catch (Exception e){ throw e; } finally{ cmd.Dispose(); } } catch (Exception e){ throw e; } finally{ conn.Dispose(); } return dataTable; }