• DataTable,DataSet,DataRow与DataView


    DataTable和DataSet可以看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器?
    原因是,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。举例:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、删除、修改,你可以把用户的操作更新到容器,等用户操作完毕了,要求更新,然后你才把容器整个的数据变化更新到中心数据库,这样做的好处是什么?就是减少了数据库操作,客户端速度提高了,数据库压力减小了。
    DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable

    DataTable,DataRow与DataView对象的增删改查

    //创建和声明DataTable对象 DataTable  total=new DataTable();
    //给DataTable对象添加DataColumn对象 total.Columns.Add(new DataColumn("班组",typeof(string))); total.Columns.Add(new DataColumn("姓名",typeof(string))); total.Columns.Add(new DataColumn("学科",typeof(string))); total.Columns.Add(new DataColumn("成绩",typeof(int)));
    法一://声明DataRow对象 DataRow dr=total.NewRow();
    //给DataRow对象中的各列赋值 dr["班组"]= "一班"; dr["姓名"]= " 李宏"; dr["学科"]= "语文 "; dr["成绩"]=98;
    //将DataRow对象添加到DataTable对象中 total.Rows.Add(dr);
    dr=total.NewRow(); dr["班组"]= "一班"; dr["姓名"]= " 刘京生"; dr["学科"]= "语文 "; dr["成绩"]=96; total.Rows.Add(dr);
    //创建DataView对象,DataView对象的数据从DataTable对象中获得 DataView dv=new DataView(total);
    //循环取出DataView中的值在页面上输出 foreach(DataRowView drv in dv) {   for(int i=0;i<drv.Row.Table.Columns.Count;i++)   {     Response.Write(drv[i]+"<br>");   } }
     法二:DataRow dr=total.NewRow();
    第0列是自增ID字段,因此从1开始
    dr[1]="二班"; dr[2]="李宏"; dr[3]="语文";
    ==================================
     
     
    //创建DataView对象,DataView对象的数据从DataTable对象中获得 DataView dv=new DataView(total);
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    一、将DataRowView对象添加进DataView对象中 DataRowView drv=dv.AddNew(); drv["班组"]= "一班"; drv[“姓名”]= “ 赵刚"; drv["学科"]= "语文 "; drv[“成绩”]=99;
    //结束编辑可以调用DataRowView的CancelEdit()方法取消插入 Drv.EndEdit();
    二、修改现有的DataRowView对象 //开始编辑
    dv[2].BeginEdit();
    //修改列值 dv[2][“成绩”]=98;
    //对束编辑可以调用DataRowView的CancelEdit()方法取消修改 dv[2].EndEdit(); 利用DataRowView的IsNew和IsEdit属性来检测DataRowView是否为新行或是否被编辑过。 三、删除现有的DataRowView对象 //调用DataView的Delete()方法,传入要删除的DataRowView的索引值 dv.Delete(1);
    //调用DataRowView的Delete()方法删除
    dv[1].Delete();
    //调用DataTable的AcceptChanges()方法永久删除基础DataRow。 dt.AcceptChanges(); 要取消删除,可以调用DataTable的RejectChanges()方法取消删除,从而取消未提交的增加与修改
    ==========================================
  • 相关阅读:
    Python的17种骚操作
    Python使用pip下载慢的原因
    Mysql数据库的安装
    Python中遇到的难解的提示:
    Linux使用SecureCRT远程终端工具的使用
    Linux下IP命令使用详解
    (未解决)jmeter报错之“请在微信客户端打开链接”
    Python学习笔记系列——九九乘法表&猜大小
    《Mysql必知必会》笔记
    (未解决)记录一次登录&jmeter,留下的一地鸡毛
  • 原文地址:https://www.cnblogs.com/zzlp/p/3229399.html
Copyright © 2020-2023  润新知