zoukankan      html  css  js  c++  java
  • DataTable和DataSet什么区别

    DataSet包含很多个DataTable 
    一张表的时候用DataTable就可以,多张表就用DataSet了(datatable是一张表,dataset是表的集合。)
    可以认为DataSet就是一个数据库,DataTable就是数据库里的表


    (注:
    datatable是一张表,dataset是表的集合。


    ============================= 
    DataSet是数据的脱机容器。它不包含数据库连接的概念,   实际上存储在DataSet中的数据不一定来源于数据库。数据集(DataSet)由一组数据表组成,每个表都有一些数据列和数据行。除了定义数据外,还可以在DataSet中定义表之间的链接。

    数据表非常类似于物理数据库表,它由一些带有特定属性的列组成,可能包含0行或多行数据。数据表也可以定义主键码(可以是一个列或多个列),列上也可以包含约束。 
    ---- 
    以上文字摘录自《C#高级编程第3版》的相关章节

    ============================================

    你可以把DataTable和DataSet看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器?

    原因是,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。举例:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、删除、修改,你可以把用户的操作更新到容器,等用户操作完毕了,要求更新,然后你才把容器整个的数据变化更新到中心数据库,这样做的好处是什么?就是减少了数据库操作,客户端速度提高了,数据库压力减小了。

    DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable
    DataSet你可以把他看成是个数据库,可以包括表,视图等。

    DataTable:数据表。   
      一:   
      SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
      DataTable   dt=new   DataTable();   
      da.Fill(dt);   
      -----------------   
      直接把数据结果放到datatable中,   
      二:   
      SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
      DataSet   dt=new   DataSet();   
      da.Fill(dt);   
      ----------------   
      数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]   
      更常见的用法:   
      SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
      DataSet   dt=new   DataSet();   
      da.Fill(dt,"table1");   
      用的时候:这样取datatable:   
      dataset["table1"]  

  • 相关阅读:
    WPF中用户控件对比自定义控件(UserControl VS CustomControl) upcode
    WinCE7开发过程 upcode
    App/Shell启动过程 upcode
    WinCE启动过程 upcode
    ASP.NET 4.0验证请求 A potentially dangerous Request.Form value was detected from the client
    HTML5 开发工具推荐
    用.NET部署卸载window服务
    C#去除HTML标签方法
    正在中止线程 的问题解决
    【转载】纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
  • 原文地址:https://www.cnblogs.com/eaysun/p/4138011.html
Copyright © 2011-2022 走看看