zoukankan      html  css  js  c++  java
  • ADO.NET的记忆碎片(五)

    到目前为止我们发现我们使用的DataTable对象、DataColumn对象和DataRow对象都是在调用DataAdapter的Fill()方法之后自动生成的,但是如何自己手动操作这些对象。
    不过这几个对象的关系我们很清楚了,另外其实这几个对象的手动创建的方式有很多相似的地方,我也不想写很多冗余的,不过为了增加一定的阅读性,要是真的冗余了,也是为了文章更加的清晰。
    在DataSet中创建DataTable:

    DataSet ds = new DataSet("MyDataSet");
    DataTable table = new DataTable("MyDataTable");
    ds.Tables.Add(table);

    使用语法糖:

    DataSet ds = new DataSet("MyDataSet");
    DataTable table = ds.Tables.Add("MyDataTable");

    在DataTable中创建DataColumn

    直接使用语法糖:

    DataColumn col1 = table.Columns.Add("ID");
    DataColumn col2 = table.Columns.Add("Name");

    可以为DataColumn指定数据类型:

    DataColumn col1 = table.Columns.Add("ID",typeof(int));
    DataColumn col2 = table.Columns.Add("Name",typeof(string));

    增加DataRow:

    DataRow row = table.NewRow();
    row["ID"] = 1;
    row["Name"] = "LMF";
    table.Rows.Add(row);

    使用语法糖:

    table.Rows.Add(1,"lmf");

    修改现有行数据,在拥有一个row对象之后,可以使用对象的Item属性来设定一列数据的值,这个属性是可读写的,代码:

    if(row!=null)
    {
        row["Name"] = "ming";
    }

    删除DataRow:

    row.Delete();

    移除DataRow:

    1、table.Rows.Remove(row);
    //根据行的索引移除
    2、table.Rows.RemoveAt(table.Rows.IndexOf(row));

     还有DataSet和DataTable类都具有一个Clear(),使用这个方法后会删除全部的DataRow对象,同时保留其结构:

    table.Clear();

    这里面删除和移除的区别是:删除是在DataSet中把这一行标记为Deleted,在将来提交数据库时候,在数据库中真实删除这一行数据。移除是单纯的在DataSet中移除这一条数据,然后在DataSet中就不能再次访问到,但是将来在提交数据库时,并不会删除该记录。
    到目前为止,我们也仅仅讨论了,非常非常基础的部分,在后面是真的要拼刺刀的,blog也很难写,有兴趣继续了解的后面对DataSet中的数据关系处理和排序搜索筛选,以及向数据库提交更新的部分的请关注我:)

  • 相关阅读:
    [转]Linux FTP服务配置
    [转]手把手教你nginx下如何增加网站
    [转]linux一键安装web环境全攻略
    CentOS命令
    [转]Response对象的属性和方法
    beforeRouteLeave vue监听返回的使用方法
    ue项目浏览器出现卡顿及崩溃的原因查找与解决方案
    vue中,解决chrome下,的warning, Added nonpassive event listener to a scrollblocking ‘mousewheel‘ event 问题
    npm
    Java线程池使用案例
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2290011.html
Copyright © 2011-2022 走看看