没有什么隐患,只是那样不好控制而已,自己写SQL语句喜欢怎么更新就怎么更新,自由一点但是DATASET,再调用SQLDATAADAPTER.UPDATE来更新还是有它局限性的地方的,原因它也是生成
一条更新语句,而这条语句你自己检测一下看看就知道了,简直就是水蛇春那么长,呵呵

解决方案 »

  1.   

    方便灵活,还可以帮助你熟悉SQL语法
      

  2.   

    应该不会有什么隐患。当你编写Windows应用程序的时候,在保存对数据集所作的全部修改时,使用DataAdapter的Update方便,它是根据行的版本来更新的。这样你能够更多的控制DataSet中的数据和用户对数据的操作。
      

  3.   

    to   Peryee(爱笑) 
    多谢参与!
    不过我不大明的你的意思:如果数据库有变动(最常见的情况是软件的用户要求多加一个字段到界面上),那么从存储过程、中间层直到界面层,应该是有几层就得改几层,一个都不能少,好象也不是只改存储过程就能解决的吧?不然,就算存储过程里改了,界面上新字段没出来,有什么用?最终用户还是没得到他想要的新字段,因为他不会去看存储过程,他只关心界面上有没有。
      

  4.   

    DATASET我觉得有一点好处就是体现在多表操作时,可以同时实现多表更新,而不会像用SQL那样会出现一个表更新了,,另一个表没有更新的情况,,,,,如果要是没有什么好处的话,,MS为什么要用DATASET,不可能仅仅是实现和SQL同样的功能吧!到现在为止我是发现了这个优点,,,肯定还有其它的,,,,,,,
      

  5.   

    我做程序习惯用DATASET,,,不过好像在效率上DATASET有点不如直接用SQL高,,,这是个人意见,,,,,
      

  6.   

    还有一点就是用DATASET不用一直连在DB服务器上,,,基本上第一次用一下,,下面的增加,删除,修改都是在DATASET中完成,,,,,而不是再和DB服务器连接,,,,,,,减轻服务器负担!这也是优于直接用SQL之一吧吧!!!!
      

  7.   

    各种方法都用适用的地方,如果参数传递DataSet,请使用
    DataSet.GetChanges()获取数据的变化的子集。
    更新完后使用
    DataSet.Merge(dataset)进行合并。
    这种方法对需要网络传输数据更新的情况下可以减少流量。
    不过缺点就GetChanges()方法生成了新的数据集。
    如果实在本地
    使用DataAdapter.Upate(DataRow[] drs);
    会有更高的性能。
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  8.   

    DATASET我觉得有一点好处就是体现在多表操作时,可以同时实现多表更新,而不会像用SQL那样会出现一个表更新了,,另一个表没有更新的情况,,,,,如果要是没有什么好处的话,,MS为什么要用DATASET,不可能仅仅是实现和SQL同样的功能吧!到现在为止我是发现了这个优点,,,肯定还有其它的,,,,,,,
    用事务。
    还有一点就是用DATASET不用一直连在DB服务器上,,,基本上第一次用一下,,下面的增加,删除,修改都是在DATASET中完成,,,,,而不是再和DB服务器连接,,,,,,,减轻服务器负担!这也是优于直接用SQL之一吧吧!!!!对于需要立即更新的敏感信息不适合
      

  9.   

    我也不知道选哪个,反正我们用SQL就是