net Datable 基本操作

net Datable 基本操作

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace ConsoleApplication11
{
    class Program
    {
       //add by yuanzhang liu 
        static void TestDataTable()
        {
            //表的创建
            DataTable dt = new DataTable();
            dt.TableName = "fuck";
            //列的创建
            DataColumn dc = new DataColumn();
            //行的创建
            DataRow dr = dt.NewRow();

            //添加方式一
            dc.ColumnName = "Name";
            dc.DataType = typeof(string);
            dt.Columns.Add(dc);

            //添加方式二;
            dt.Columns.Add("Tel",typeof(int));


            //给列添加值;
            dr[0]= "Jack";     //通过索引的方式添加值
            dr["Tel"] = 1363;  //通过字段值得方式添加

            dt.Rows.Add(dr);

            //添加方式二:
            dt.Rows.Add("Frank",13990);
            //这些都是基本的操作;


            //为已经有的data添加一个新的列;
            //方式一;
            DataColumn dc1 = new DataColumn("Address",typeof(string));
            dt.Columns.Add(dc1);

            DataColumn dc2 = new DataColumn("Sex",typeof(string));
            dc2.DefaultValue = "";
            dc2.AllowDBNull = false; //是否对已有的数据进行添加和修改;
            dt.Columns.Add(dc2);


            DataTable dt2 = dt.Clone();  //这样clone 得到的只是相同的表结构滴呀;
        }

        //dataTable 中数据的赛选;
        public void SelectRowDataTable()
        {
            DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FROM T1"查询出来的结果
           // 方式一:
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["C1"].ToString() == "abc")//查询条件
                {
                    //进行操作
                }
            }

           //方式二:
            DataRow[] rows = dt.Select("C1='abc'");

            DataRow[] rows1 = dt.Select("C1 like 'ab%'");

            DataRow[] rows2 = dt.Select("C1='abc'","C2 DESC");

            //当查询完之后,我们继续操作;
            DataTable newTable = dt.Clone();
            for (int i = 0; i < rows.Length; i++)
            {
                newTable.ImportRow(rows[i]);  //imporRow 是用的复制;
            }

        }

        //方法五,对datatable指定的字段,病保留为新的表弟呀
        static void TestDataTable2()
        {
            DataTable dtNew = dtNew.DefaultView.ToTable(false, new string[] { "fileName1", "fileName2", "fileName3" });
            //这些指定的字段名必须存在;
        }

        //对我们的datatable 进行排序;
        public void SortTable()
        {
            DataTable dt = new DataTable();
            dt.DefaultView.Sort = "id desc"; //重新设置排序;
            DataTable dtNew=dt.DefaultView.ToTable();

            //这个用于列之间位置的交换;
            dt.Columns[3].SetOrdinal(1); //ItemAmount列放置到第二列 索引从0开始  

        }

        static void Main(string[] args)
        {
            TestDataTable();
        }
    }
}

后续,再补充~

原文地址:https://www.cnblogs.com/mc67/p/5647531.html