Create DataRelation ship between two tables

九鼎控股APP与数据关系类示例
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址: http://jdb.jiudingcapital.com/phone.html
内部邀请码: C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 
------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

There is a simple demo for DataRelation class of DataSet.

DataRelation test
  1DataRelation test#region DataRelation test
  2        /**//// <summary>
  3        /// Test table relation.
  4        /// </summary>

  5        public void Relation()
  6        {
  7            DataTable dtParent = this.CreateDataTable();
  8            dtParent.TableName = "Parent";
  9
 10            .net framework 2.0#region .net framework 2.0
 11            DataSet ds = new DataSet();
 12            ds.Tables.Add(dtParent);
 13            DataRelation relations = ds.Relations.Add("Relation", ds.Tables["Parent"].Columns["index"], ds.Tables["Parent"].Columns["parent_index"], false);
 14
 15            foreach (DataRow row in ds.Tables["Parent"].Rows)
 16            #endregion

 17
 18            .net framework 1.1#region .net framework 1.1
 19            //DataRelation relations = new DataRelation("Relation", dtParent.Columns["index"], dtParent.Columns["parent_index"], false);
 20            //foreach (DataRow row in dtParent.Rows)
 21            #endregion

 22            {
 23                if (0 != string.Compare(row["parent_index"].ToString(), "0"true,System.Globalization.CultureInfo.CurrentCulture))
 24                {
 25                    continue;
 26                }

 27
 28                this.DebugPrint(string.Format("{0}", row["description"].ToString()));
 29
 30                this.PrintChilds(row, relations);
 31
 32                this.DebugPrint("--------------------------------------------------");
 33
 34                
 35            }

 36        }

 37
 38        /**//// <summary>
 39        /// print the child 
 40        /// </summary>

 41        private void PrintChilds(DataRow rowParent, DataRelation relations)
 42        {
 43            DataRow[] rowChilds = rowParent.GetChildRows(relations);
 44
 45            if (null == rowChilds || 0 == rowChilds.Length)
 46            {
 47                return;
 48            }

 49
 50            string spaces = string.Empty;
 51            foreach (DataRow row in rowChilds)
 52            {
 53                spaces = spaces.PadLeft(int.Parse(row["layer"].ToString()), '\t');
 54                this.DebugPrint(string.Format("{0}|-- {1}", spaces, row["description"].ToString()));
 55
 56                this.PrintChilds(row, relations);                
 57            }

 58        }

 59
 60        /**//// <summary>
 61        /// Create the datatable for test.
 62        /// </summary>
 63        /// <returns></returns>

 64        private DataTable CreateDataTable()
 65        {
 66            DataTable dt = new DataTable("Test");
 67
 68            // add columns
 69            dt.Columns.Add(new DataColumn("index"typeof(Int32)));
 70            dt.Columns.Add(new DataColumn("parent_index"typeof(Int32)));
 71            dt.Columns.Add(new DataColumn("description"typeof(string)));
 72            dt.Columns.Add(new DataColumn("layer"typeof(string)));
 73
 74            // add rows
 75            dt.Rows.Add(new object[] 10000,     "first 1" , 0});
 76            dt.Rows.Add(new object[] 10011000"secord 2"1 });
 77            dt.Rows.Add(new object[] 20000"third 3"0 });
 78            dt.Rows.Add(new object[] 20011000"forth 4"2 });
 79            dt.Rows.Add(new object[] 30002000"fifth 5"1 });
 80            dt.Rows.Add(new object[] 30013000"six 6"2 });
 81            dt.Rows.Add(new object[] 22220"seven 7"0 });
 82
 83
 84            dt.Rows.Add(new object[] 1002222"first 11"1 });
 85            dt.Rows.Add(new object[] 1011000"secord 21"1 });
 86            dt.Rows.Add(new object[] 200222"third 31"3 });
 87            dt.Rows.Add(new object[] 2011001"forth 41"2 });
 88            dt.Rows.Add(new object[] 3002000"fifth 51"1 });
 89            dt.Rows.Add(new object[] 3013000"six 61"2 });
 90            dt.Rows.Add(new object[] 2221000"seven 71"3 });
 91
 92            // accept changes
 93            dt.AcceptChanges();
 94
 95            //DataSet ds = new DataSet("Test");
 96            //ds.Tables.Add(dt);
 97
 98            return dt;
 99        }

100
101        private void DebugPrint(string msg)
102        {
103            //System.Diagnostics.Debug.WriteLine(msg);
104            Console.WriteLine(msg);
105        }

106        #endregion


while u can use DataTable.Select(conditions) or DataView.Filter to filete the data what you want .however,maybe the method is more complex with this one.

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值