Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

asp.net sql datareader loop by columns

I have sql query in my asp.net webapp and the result is stored in datareader. Every row in datareader contains 10 columns. I want to fill table with these data. However, I have no idea, how to loop through columns in datareader. I need something like this:

while (vysledky.Read())
{
    TableRow row = new TableRow();
    tab.Controls.Add(row);
    foreach (column in ((datareader(row)))  //it is not real code
    {
      TableCell cell = new TableCell();
      cell.Text = datareader(row).content;
      row.Controls.Add(cell);
    }
}

I hope you got the point. Thanks

like image 220
polohy Avatar asked Feb 09 '12 17:02

polohy


1 Answers

Use the FieldCount property of the SqlDataReader:

while (vysledky.Read())
{
    // Iterate over each of the fields (columns) in the datareader's current record
    for (int i = 0; i < vysledky.FieldCount; i++)
    {
        var value = vysledky[i];

        TableCell cell = new TableCell(); 
        cell.Text = Convert.ToString(value); 
        row.Controls.Add(cell); 
    }
}
like image 78
Rob Avatar answered Sep 17 '22 23:09

Rob