• (转)C#DataTable学习心得


    一、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()方法确认删除。

  • 相关阅读:
    单进程架构数据库谨防隐形杀手
    21.2 超时与重传的简单例子
    19日下午三点直播:DevOps体系中数据库端的四大问题及解决之道
    SQL无所不能:DBA宝妈宝爸系列分享
    用Excel做了7天报表,这个领导喜欢的可视化工具,只用了7小时
    从块结构谈表的存储参数与性能之间的关系
    MYSQL SHELL 到底是个什么局 剑指 “大芒果”
    大数据构架师经典学习宝典
    POJ 3171 区间最小花费覆盖 (DP+线段树
    POJ 3171 区间最小花费覆盖 (DP+线段树
  • 原文地址:https://www.cnblogs.com/helloEveryBody/p/5335977.html
Copyright © 2020-2023  润新知