一般情况下,用DataSet只返回一个Table, 所以DataTable会更简洁一些,但有时为了配合.net类库的数据类型,只好用DataSet.

解决方案 »

  1.   

    2 我觉得通过DataAdapter来更新数据库在二层结构下还简单方便,但是在3层应用下不是很好用,我在实际工作中在数据访问层里都是通过SQLCommand对象来直接更新数据库。与我一样
      

  2.   

    当你懂得了DataSet的优点你就更上一层楼了。
      

  3.   

    SQLCommand
    我也喜欢用这个来更新数据库。
    用自动生成的命令,
    不直观。
     Kylix_NOW(盖茨爸爸) 
    你说说DataSet的优点了,
    你在实际中怎么应用。
      

  4.   

    如果联系Xml那DataSet就很有用了。
      

  5.   

    关注,这几天我正是想这一问题。我正在写一个图书馆系统,用ASP.net做借书,在一个有几十万甚至几百万书籍的图书馆,如用DataSet此不是要占很多客户端的资源?但如果用DataReader,当多人借书时哪也占SQL server资源?请高手们解析和解决。
      

  6.   

    to : Kylix_NOW(盖茨爸爸)如果你准备用DateSet来更新数据库,在3层结构下,在中间层里,DataSet的InsertCommand,updateCommand,deleteCommand这3个对象都不是固定不变的,而是根据表示层的不同来相应变化的。那么你怎样来设置DataSet的InsertCommand,updateCommand,deleteCommand呢?我想你只有在每个表示层里先声明并设定好这3个对象,再传给应用层了。但是又有一个问题呀?比如在表示层用DataGrid来帮定dataset,当应用层的DataSet更新数据库时,它怎样来控制表示层里DataGrid、里的更新数据的版本呢?
    这样的话,在表示层会出现很多的SQL语句,那样的话和2层结构又有什么区别呢?因此我觉得在3层应用下,用DataSet来更新数据库是不好实现的。
      

  7.   

    to : Kylix_NOW(盖茨爸爸)如果你准备用DateSet来更新数据库,在3层结构下,在中间层里,DataSet的InsertCommand,updateCommand,deleteCommand这3个对象都不是固定不变的,而是根据表示层的不同来相应变化的。那么你怎样来设置DataSet的InsertCommand,updateCommand,deleteCommand呢?我想你只有在每个表示层里先声明并设定好这3个对象,再传给应用层了。但是又有一个问题呀?比如在表示层用DataGrid来帮定dataset,当应用层的DataSet更新数据库时,它怎样来控制表示层里DataGrid、里的更新数据的版本呢?
    这样的话,在表示层会出现很多的SQL语句,那样的话和2层结构又有什么区别呢?因此我觉得在3层应用下,用DataSet来更新数据库是不好实现的。