zoukankan      html  css  js  c++  java
  • C#DataTable学习心得

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

  • 相关阅读:
    使用tornado的gen模块改善程序性能
    分析Linux内核中进程的调度(时间片轮转)-《Linux内核分析》Week2作业
    博客园配置MarsEdit客户端
    分析一个C语言程序生成的汇编代码-《Linux内核分析》Week1作业
    微信支付的开发流程
    探究加法操作的原子性
    mac下mysql数据库的配置
    从range和xrange的性能对比到yield关键字(中)
    使用装饰器时带括号与不带括号的区别
    从range和xrange的性能对比到yield关键字(上)
  • 原文地址:https://www.cnblogs.com/Footprints/p/3008352.html
Copyright © 2011-2022 走看看