.net中DataSet属性relations的应用

来源:互联网 发布:域名证书怎么查询 编辑:程序博客网 时间:2024/05/16 10:22
using System;using System.Collections.Generic;using System.Text;using System.Data; namespace connect{    class Program    {        static void Main(string[] args)        {            //建立数据集对象,像数据库一样            DataSet ds=new DataSet() ;                      //建立表            DataTable dtsb = new DataTable("SB");            DataTable dtsx = new DataTable("SX");             //SB主表,创建列            dtsb.Columns.Add(new DataColumn("学号"));            dtsb.Columns.Add(new DataColumn("姓名"));            dtsb.Columns.Add(new DataColumn("性别"));            dtsb.Columns.Add(new DataColumn("总成绩"));             //SX从表,创建列            dtsx.Columns.Add(new DataColumn("学号"));            dtsx.Columns.Add(new DataColumn("姓名"));            dtsx.Columns.Add(new DataColumn("科目"));            dtsx.Columns.Add(new DataColumn("分成绩"));             //主表数据,创建行            dtsb.Rows.Add("1","陈一","男","100");            dtsb.Rows.Add("2", "王二", "女", "90");            dtsb.Rows.Add("3", "李三", "女", "80");            dtsb.Rows.Add("4", "赵四", "男", "70");             //从表数据,创建行            dtsx.Rows.Add("1", "陈一", "语文", "50");            dtsx.Rows.Add("1", "陈一", "数学", "50");            dtsx.Rows.Add("2", "王二", "数学", "90");            dtsx.Rows.Add("3", "李三", "历史", "50");            dtsx.Rows.Add("3", "李三", "地理", "30");            dtsx.Rows.Add("4", "赵四", "英文", "70");             //输出主表明细            Console.WriteLine("我是SB");            Console.WriteLine("学号   姓名   性别   总成绩");            foreach (DataRow a in dtsb.Rows)            {                            Console.WriteLine("{0}    {1}    {2}    {3}", a[0].ToString().PadRight (4,' '),a[1],a[2].ToString().PadRight (4,' '),a[3]);            }             Console.WriteLine("");             //输出从表明细            Console.WriteLine("我是SX");            Console.WriteLine("学号   姓名   科目   分成绩");            foreach (DataRow a in dtsx.Rows)            {                Console.WriteLine("{0}    {1}    {2}    {3}", a[0].ToString().PadRight (4, ' '), a[1], a[2].ToString().PadRight(4, ' '), a[3]);            }             Console.WriteLine("");             //把表添加到dataset            ds.Tables.Add(dtsb);            ds.Tables.Add(dtsx);             //创建关系,以学号为主键            ds.Relations.Add("SBX", ds.Tables["SB"].Columns["学号"], ds.Tables["SX"].Columns["学号"]);             //历遍主表所有行,将其赋值给drsb            foreach (DataRow drsb in ds.Relations["SBX"].ParentTable.Rows)            {                Console.WriteLine("{0}  {1}  {2}  {3}", drsb[0], drsb[1], drsb[2], drsb[3]);                 //历遍drsb所有子行,将其赋值给drsx                foreach (DataRow drsx in drsb.GetChildRows("SBX"))                {                    Console.WriteLine("    {0}  {1}  {2}  {3}",drsx[0],drsx[1],drsx[2],drsx[3]);                }            }                              }    }}

运行结果:

关于DataSet中Relations的应用 - 淹死的鱼 - 淹死的鱼

转自:http://guangguang.163.blog.163.com/blog/static/3295349020100812542109/

0 0
原创粉丝点击