string connectionString = ConfigurationManager.ConnectionStrings["myConnection"].ConnectionString;
                const string query = "my Select query here";
                List<long> myList = new List<long>();
                using (SqlConnection con = new SqlConnection(connectionString))
                {
                    con.Open();
                    using (SqlCommand selectCommand = new SqlCommand(query, con))
                    {
                        selectCommand.CommandType = CommandType.Text;
                        SqlDataReader sqlreader = selectCommand.ExecuteReader();
                        while (sqlreader.Read())
                        {
                           long Id = (long)sqlreader["Id"];
                            List.Add(Convert.ToInt32(sqlreader[0].ToString()));
                            using (SqlCommand insertCommand = new SqlCommand("dbo.SP_Data", con))
                             {
                                 insertCommand.CommandType = CommandType.StoredProcedure;
                                 insertCommand.Parameters.Add("@Id", SqlDbType.BigInt).Value = Id;
                                 insertCommand.Parameters.Add("@StatusId", SqlDbType.BigInt).Value = 1;
                                 insertCommand.Parameters.Add("@ReportDate", SqlDbType.DateTime).Value = DateTime.Now;
                                 insertCommand.Parameters.Add("@CreatedDate", SqlDbType.DateTime).Value = DateTime.Now;
                                 insertCommand.Parameters.Add("@CreatedBy", SqlDbType.UniqueIdentifier).Value = DefaultUser();
                                 insertCommand.ExecuteNonQuery();
                             }
                        }
                    }
                }
I am getting the error "There is already an open DataReader associated with this Command which must be closed first." at the last line [insertCommand.ExecuteNonQuery();