一、DataSet、DataTable、DataRow、DataColumn

1】 在DataSet中添加DataTable

DataSet.Tables.Add(DataTable)

实例:

    DataSet ds=new DataSet();

    DataTable table=new DataTable("学生表");

    ds.Tables.Add(table);
2】从DataSet中读出DataTable

DataTable=DataSet.Tables[0]或DataSet.Tables["表名"]

实例:

    DataTable table=ds[i]或DataTable table=ds["学生表"]

    //i为DataSet中的索引值,因为DataSet可存放多个DataTable,可以根据索引值来找DataTable或直接写DataTable的名称来找DataTable
3】添加行
     DataTable t=new DataTable();
     DataRow r=t.NewRow();
     r["列名"]=列值;
     t.Rows.Add(r) ;

实例:

    DataTable:学生表

    id    name

    1    xun

代码:

    DataTable t=new DataTable("学生表");

    DataRow r=t.NewRow();

    r["id"]=2;

    r["name"]=xun2;

    t.Rows.Add(r);

4】添加列

DataTable.Columns.Add("列名",Type.GetType("数据类型"))  ;
5】从行中读列值

DataRow["列名"]或DataRow[DataColumn];  
6】从DataTable中读列值

DataTable table;

a、table.Rows[i]["列名"]

b、table.Rows[i][i]

c、table[i].列名(列名不加引号)

7】读出特定的行

DataTable table;

DataRow[] selectRow=table.Select("列名='"+存放特定的变量.ToString()+"'");

选择其中的一行:selectRow[索引]

二、删除DataTable中的行三种方法:(DataTable.Rows.Remove(DataRow dr)、DataTable.Rows.RemoveAt(i)、DataRow.Delete())

删除DataTable中的行要注意索引问题,一般有两种方法:
1】用for循环时,注意计数器初始值为表长,自减循环。DataTable.Rows.RemoveAt(i)就要注意。
2】用DataTable的Select方法,注意该方法的参数是字符串筛选器
3】Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。若要删除多行,可以连续用Delete(),然后采用AccepteChanges()方法确认删除。

(转)C#DataTable学习心得的更多相关文章

  1. C#DataTable学习心得

    C#DataTable学习心得 一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(Da ...

  2. dataTable学习心得

    1.引用文件 <link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery. ...

  3. C#DataTable学习心得[转]

    一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...

  4. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  8. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  9. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. 写一个产生16位纯数字唯一 ID 的方法,要求时间因素的介入。(不要求绝对唯一,在一定的时空中重复机率很小即可)

    function randomID () { _random = function(min, max) { if (max == null) { max = min; min = 0; } retur ...

  2. MVC折线图应用

    后台 获取值并转换成json数据存到实体里面,然后前台输出 HighchartsModels model = new HighchartsModels(); model.DataDicJson = J ...

  3. 移动web开发前准备知识了解(html5、jquery)笔记

    1.经常使用 插件工具  chrome插件:   Mobile & Tablet Emulator(用于常见移动端适配):(重点) Mobile Emulator is an useful o ...

  4. L10 数据入站、转发、出站流程

    二 写出防火墙规则链之间的顺序也就是入站数据流向.转发数据流向.出站数据流向的过程 入站:PREROUTING→INPUT 数据包到达防火墙,由prerouting处理,判断是否修改地址 路由选择:判 ...

  5. codevs1387

    题目描述                     Description 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始 图案按照 ...

  6. codeforces 几道题目

    BZOJ挂了....明天就要出发去GDKOI了....不能弃疗. 于是在cf水了几道题, 写写详(jian)细(dan)题解, 攒攒RP, 希望GDKOI能好好发挥.......  620E. New ...

  7. 16-GDBT(MART) 迭代决策树入门教程 | 简介

    转载:http://blog.csdn.net/w28971023/article/details/8240756 GBDT(Gradient Boosting Decision Tree) 又叫 M ...

  8. SetThreadAffinityMask设置线程亲缘性

    The SetThreadAffinityMask function sets a processor affinity mask for the specified thread. DWORD_PT ...

  9. 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

    看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵.不 ...

  10. Java String.replace()方法

    Java String.replace()方法用法实例教程, 返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar 声明 以下是java.lang.String.replace( ...