How do I extract data from a DataTable?
ado.net, c#, sql
Solution
The DataTable has a collection `.Rows` of DataRow elements.
Each DataRow corresponds to one row in your database, and contains a collection of columns.
In order to access a single value, do something like this:
foreach(DataRow row in YourDataTable.Rows)
{
string name = row["name"].ToString();
string description = row["description"].ToString();
string icoFileName = row["iconFile"].ToString();
string installScript = row["installScript"].ToString();
}
Problem
I have a `DataTable` that is filled in from an SQL query to a local database, but I don't know how to extract data from it. Main method (in test program): ``` static void Main(string[] args) { const string connectionString = "server=localhost\\SQLExpress;database=master;integrated Security=SSPI;"; DataTable table = new DataTable("allPrograms"); using (var conn = new SqlConnection(connectionString)) { Console.WriteLine("connection created successfuly"); string command = "SELECT * FROM Programs"; using (var cmd = new SqlCommand(command, conn)) { Console.WriteLine("command created successfuly"); SqlDataAdapter adapt = new SqlDataAdapter(cmd); conn.Open(); Console.WriteLine("connection opened successfuly"); adapt.Fill(table); conn.Close(); Console.WriteLine("connection closed successfuly"); } } Console.Read(); } ``` The command I used to create the tables in my database: ``` create table programs ( progid int primary key identity(1,1), name nvarchar(255), description nvarchar(500), iconFile nvarchar(255), installScript nvarchar(255) ) ``` How can I extract data from the `DataTable` into a form meaningful to use?