dataset是内存中数据库的完整表示
包括datatable dataview
而datatable里有datarow datacol
dataset是数据库的承载体
没有dataset就没法建立datatable
也没法建立datarow了

解决方案 »

  1.   

    回:ofei(欧卡)
    我说的是数据的传送,DataTable也一样可以绑定DataGrid,DataRow也一样可以读取(如果你读的只有一个记录的话)
    我不明白的是为什么微软的例子上都是先封装成DataSet,再前台读取,这是不是大材小用?
      

  2.   

    回:tqz2003(谈谈)
    不明白?能否说详细点?
      

  3.   

    楼主是说在N层设计里面,为何在数据层中都传送一个DataSet给业务层,而不传送DataTable这个我也很困惑,但是我在实际操作中,自己都是使用的DataTable,好像没什么问题。
      

  4.   

    同意楼上的。可能是保存数据之间关联的考虑。youknow(我不知道我是谁) ,我也是这样的:)
      

  5.   

    DataSet可以被序列化/反序列化,这意味着他很容易被缓存起来
    DataTable或者DataRow不行的
      

  6.   

    DataSet可以被序列化/反序列化,这意味着他很容易被缓存起来
    DataTable或者DataRow不行的
      
    --------------------
    一看就中...
      

  7.   

    1. DataSet可以被序列化/反序列化,这意味着他很容易被缓存起来
    2. 如果有更多的数据需要传输,可能通过DataSet轻松扩展,而DataRow,DataView,DataTable相对而言就受到太多的限制。
      

  8.   

    二盖子不是说:过几年家里的机器少说也是个4GCPU,2G内存,服务器跟不必说了这点小东西用那DATASET想怎么展开就怎么展开,我还觉得用ADO。NET好象那所谓的下载数据到本地的时候,有的情况下时间长的话。。内存明显比一般的东西长大的快不知道大家有感觉没
      

  9.   

    DataSet可以被序列化/反序列化
    请问什么是序列化/反序列化? 是不是转换成Xml?
      

  10.   

    Sunmast:请教下,序列化与缓存有什么微妙的关系吗?不太明白
      

  11.   

    DataSet 可以被缓存,DataTable不行地
      

  12.   

    如何缓存?哪个地方缓存?System.web.httpcontext.cache这里?这里怎么会不能缓存?
      

  13.   

    比如当你使用ASP.NET State Service的时候
    放进去的东西都需要是可序列化的
    如果需要使用Remoting等技术在缓冲服务器缓存
    也需要可序列化还有, 数据既然是在层间传输
    就必须考虑不同层在不同主机的情况
    而远程对象技术基本上都要求被传输的东西需要支持序列化不知道说清楚了没有 :P
      

  14.   

    DataSet可以被序列化/反序列化,这意味着他很容易被缓存起来
    DataTable或者DataRow不行的
      
    --------------------
    DataTable可以被序列化/反序列化吧
      

  15.   

    to penning
    你可以尝试使用webservice传输一个DataTable试试to cnlamar
    既然有直接可以序列化的东西, 为啥非得手工序列化呢 (-:
      

  16.   

    以前讨论过了。DATATABLE不能被序列化吧。
      

  17.   

    或者更小的DataRow呢?
    一个同事昨天问我,居然答不出来我现在就是用DataTable和DataRow在数据曾里面传输,很方便,前提是你先建好DataSet,其实我以前就是用DataSet来传输数据,不过觉得写得代码明显比DataTable写得多(我这个人很懒:)),所以就用了DataTable在数据层传输数据,到了底层就用DataRow,觉得非常当便。