zoukankan      html  css  js  c++  java
  • DataTable的Merge、Copy和Clone

     1         private void button1_Click(object sender, EventArgs e)
     2         {
     3             DataTable dt1 = new DataTable();
     4             dt1.Columns.Add("ID", typeof(string));
     5             dt1.Columns.Add("NAME", typeof(string));
     6             dt1.Columns.Add("AGE", typeof(int));
     7             dt1.Columns.Add("SEX", typeof(string));
     8 
     9             dt1.PrimaryKey = new DataColumn[] { dt1.Columns["ID"] };
    10             for (int i = 0; i < 5; i++)
    11             {
    12                 DataRow dr = dt1.NewRow();
    13                 dr["ID"] = "00" + i.ToString();
    14                 dr["NAME"] = "00-" + i.ToString();
    15                 dr["AGE"] = 15 + i;
    16                 dr["SEX"] = "M";
    17                 dt1.Rows.Add(dr);
    18 
    19             }
    20             DataTable dt2 = new DataTable();
    21             dt2.Columns.Add("ID", typeof(string));
    22             dt2.Columns.Add("NAME", typeof(string));
    23             dt2.Columns.Add("Course", typeof(string));
    24             dt2.Columns.Add("Score", typeof(int));
    25 
    26             dt2.PrimaryKey = new DataColumn[] { dt2.Columns["ID"] };
    27             for (int i = 0; i < 5; i++)
    28             {
    29                 DataRow dr = dt2.NewRow();
    30                 dr["ID"] = "00" + i.ToString();
    31                 dr["NAME"] = "00-" + i.ToString();
    32                 dr["Course"] = "C#";
    33                 dr["Score"] = i + 80;
    34                 dt2.Rows.Add(dr);
    35             }
    36             //Merge
    37             dt1.Merge(dt2);
    38             //Copy
    39             var dt3 = dt1.Copy();//Copy,复制表的结构以及数据
    40             //Clone
    41             var dt4 = dt2.Clone();//Clone,复制表的结构、约束信息
    42 
    43             //对DataTable的操作
    44             DataRow dr1 = dt3.NewRow();
    45             dr1["ID"] = "005";
    46             dr1["NAME"] = "00-5";
    47             dr1["AGE"] = 15;
    48             dr1["SEX"] = "F";
    49             dt3.Rows.InsertAt(dr1, 2);//表的指定位置插入新增加的一行     
    50 
    51             dt3.Columns.Add(new DataColumn() { ColumnName = "Memo", DataType = typeof(string) });//默认插入到最后一列
    52             dt3.Columns["Memo"].SetOrdinal(0);//把插入的列移动到第一行
    53 
    54             int memoIndex = dt3.Columns.IndexOf("Memo");//获取列的位置信息
    55             var isContainName = dt3.Columns.Contains("NAME");//判断table中是否存在某列
    56 
    57             List<string> columnsNameList = new List<string>();//遍历获取table的所有列名
    58             foreach (DataColumn col in dt3.Columns)
    59             {
    60                 columnsNameList.Add(col.ColumnName);
    61             }
    62 
    63             dt3.Columns.RemoveAt(memoIndex);//通过列名的索引进行移除
    64             dt3.Columns.RemoveAt(2);//通过列名的索引进行移除
    65             dt3.Columns.Remove("SEX");//通过列名进行移除,建议使后者
    66 
    67             string[] name = new string[dt3.Rows.Count];//方法一:对表中的数据进行遍历输出
    68             string[] id = new string[dt3.Rows.Count];
    69             for (int i = 0; i < dt3.Rows.Count; i++)
    70             {
    71                 name[i] = dt3.Rows[i]["NAME"].ToString();
    72                 id[i] = dt3.Rows[i]["ID"].ToString();
    73             }
    74 
    75             dt3.Clear();//清空表中的数据
    76         }
  • 相关阅读:
    Office 365开发环境概览
    Office 365开发概述及生态环境介绍(二)
    介绍Office 365 中文用户社区 4.0
    学习一点Markdown的基本知识
    Office 365开发概述及生态环境介绍(一)
    如何完全卸载OneDrive (Windows 10 64bit)
    国内版Office 365和Azure AAD绑定的问题及解决方案
    Office 365常见问题解答(第一期)
    招聘视音频工程师
    信念、思考、行动-谈谈程序员返回家乡的创业问题
  • 原文地址:https://www.cnblogs.com/lgx5/p/12227978.html
Copyright © 2011-2022 走看看