'Make Data columns from a sql adapter

Is there a way, where I can use a sql adapter and convert the sql query results into a Data Columns? I'm kinda new a datatables. I need to build this dynamically since my column names are stored into a sql table. I keep running into datarows not columns. What I have built so far:

string feedcolumns = @"select FeedColumnName from  myTable where FeedProcessID = @feedprocessid";

SqlCommand columnscommand = new SqlCommand(feedcolumns, connUpd);
DataTable dt = new DataTable("datafeed");

foreach(DataColumn dc in dt.Columns)
{
    dc = new 
    dt.Columns.Add(dc);
}


Solution 1:[1]

You can fill a DataTable directly from an SqlReader, no need to go column by column. One thing I did notice was that your SQL statement had a parameter in it that was never assigned to the command object, so I added it in

string feedcolumns = "select FeedColumnName from  myTable where FeedProcessID = @feedprocessid";

DataTable dt = new DataTable("datafeed");

using (SqlConnection connUpd = new SqlConnection("MyConnection")) {
    using (SqlCommand columnscommand = new SqlCommand(feedcolumns, connUpd)) {
        columnscommand.Parameters.AddWithValue("@feedprocessid", feedprocessid);

        connUpd.Open();

        var dataReader = columnscommand.ExecuteReader();

        dt.Load(dataReader);
    }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mad Myche