title: DataReader to .CSV with column names
body: <p>I'm generating a csv file from an SqlDataReader, however it is not writing the column names, how can I make it write them? The code I'm using is as follows:</p>
  
  <pre><code>SqlConnection conn = new SqlConnection(myconn);
  SqlCommand cmd = new SqlCommand("dbo.test", conn);
  cmd.CommandType = CommandType.StoredProcedure;
  conn.Open();
  SqlDataReader reader = cmd.ExecuteReader();
  
  StringBuilder sb = new StringBuilder();
  StreamWriter sw = new StreamWriter(myfilePath + "testfile.csv"); 
  while (reader.Read())
  {
      for (int i = 0; i &lt; reader.FieldCount; i++)
      {
          string value = reader[i].ToString();
          if (value.Contains(","))
              value = "\"" + value + "\"";
  
          sb.Append(value.Replace(Environment.NewLine, " ") + ",");
      }
      sb.Length--; // Remove the last comma
      sb.AppendLine();
  }
  conn.Close();
  sw.Write(sb.ToString());
  sw.Close();
  </code></pre>