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(); } } }
后续,再补充~
时间: 2024-11-09 15:41:50