zoukankan      html  css  js  c++  java
  • 关于DataSet中Relations的应用

    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]);

    }

    }

     

    }

    }

    }

     

  • 相关阅读:
    数据结构和算法(Golang实现)(9)基础知识-算法复杂度及渐进符号
    基于深度学习方法的dota2游戏数据分析与胜率预测(python3.6+keras框架实现)
    基于CBOW网络手动实现面向中文语料的word2vec
    《Machine Learning Yearing》读书笔记
    使用神经网络预测航班起飞准点率
    使用LSTM-RNN建立股票预测模型
    基于selenium+phantomJS的动态网站全站爬取
    TensorFlow保存、加载模型参数 | 原理描述及踩坑经验总结
    学习笔记--python中使用多进程、多线程加速文本预处理
    通过外汇对冲手段稳定获利的可行性验证
  • 原文地址:https://www.cnblogs.com/disneyland/p/4133369.html
Copyright © 2011-2022 走看看