C#.NET中直接采用DATASET来更新数据有没有什么隐患或不足? 没有什么隐患,只是那样不好控制而已,自己写SQL语句喜欢怎么更新就怎么更新,自由一点但是DATASET,再调用SQLDATAADAPTER.UPDATE来更新还是有它局限性的地方的,原因它也是生成一条更新语句,而这条语句你自己检测一下看看就知道了,简直就是水蛇春那么长,呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方便灵活,还可以帮助你熟悉SQL语法 应该不会有什么隐患。当你编写Windows应用程序的时候,在保存对数据集所作的全部修改时,使用DataAdapter的Update方便,它是根据行的版本来更新的。这样你能够更多的控制DataSet中的数据和用户对数据的操作。 to Peryee(爱笑) 多谢参与!不过我不大明的你的意思:如果数据库有变动(最常见的情况是软件的用户要求多加一个字段到界面上),那么从存储过程、中间层直到界面层,应该是有几层就得改几层,一个都不能少,好象也不是只改存储过程就能解决的吧?不然,就算存储过程里改了,界面上新字段没出来,有什么用?最终用户还是没得到他想要的新字段,因为他不会去看存储过程,他只关心界面上有没有。 DATASET我觉得有一点好处就是体现在多表操作时,可以同时实现多表更新,而不会像用SQL那样会出现一个表更新了,,另一个表没有更新的情况,,,,,如果要是没有什么好处的话,,MS为什么要用DATASET,不可能仅仅是实现和SQL同样的功能吧!到现在为止我是发现了这个优点,,,肯定还有其它的,,,,,,, 我做程序习惯用DATASET,,,不过好像在效率上DATASET有点不如直接用SQL高,,,这是个人意见,,,,, 还有一点就是用DATASET不用一直连在DB服务器上,,,基本上第一次用一下,,下面的增加,删除,修改都是在DATASET中完成,,,,,而不是再和DB服务器连接,,,,,,,减轻服务器负担!这也是优于直接用SQL之一吧吧!!!! 各种方法都用适用的地方,如果参数传递DataSet,请使用DataSet.GetChanges()获取数据的变化的子集。更新完后使用DataSet.Merge(dataset)进行合并。这种方法对需要网络传输数据更新的情况下可以减少流量。不过缺点就GetChanges()方法生成了新的数据集。如果实在本地使用DataAdapter.Upate(DataRow[] drs);会有更高的性能。http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx DATASET我觉得有一点好处就是体现在多表操作时,可以同时实现多表更新,而不会像用SQL那样会出现一个表更新了,,另一个表没有更新的情况,,,,,如果要是没有什么好处的话,,MS为什么要用DATASET,不可能仅仅是实现和SQL同样的功能吧!到现在为止我是发现了这个优点,,,肯定还有其它的,,,,,,,用事务。还有一点就是用DATASET不用一直连在DB服务器上,,,基本上第一次用一下,,下面的增加,删除,修改都是在DATASET中完成,,,,,而不是再和DB服务器连接,,,,,,,减轻服务器负担!这也是优于直接用SQL之一吧吧!!!!对于需要立即更新的敏感信息不适合 我也不知道选哪个,反正我们用SQL就是 C#线程到底是干什么的?怎么使用?有没有简单的例子 这行代码什么作用??? 请教一条SQL语句 WinForm DataGrid增加一列的问题 谁有Visual SourceSafe 6.0d 我网上找的下载不了. Ado.net 的问题 Excel嵌入Winform的问题 怎样获取对端服务器的IP地址? 在listview中如何捕捉一行数据并显示在对应的DataGridView中?急!!! 那位大侠知道在C#中类似TabControl控件分页但不显示页标头,类似VC中的东东 菜鸟求助!!!!!! 如何将一个dataset中的数据插入到数据库的表中!
多谢参与!
不过我不大明的你的意思:如果数据库有变动(最常见的情况是软件的用户要求多加一个字段到界面上),那么从存储过程、中间层直到界面层,应该是有几层就得改几层,一个都不能少,好象也不是只改存储过程就能解决的吧?不然,就算存储过程里改了,界面上新字段没出来,有什么用?最终用户还是没得到他想要的新字段,因为他不会去看存储过程,他只关心界面上有没有。
DataSet.GetChanges()获取数据的变化的子集。
更新完后使用
DataSet.Merge(dataset)进行合并。
这种方法对需要网络传输数据更新的情况下可以减少流量。
不过缺点就GetChanges()方法生成了新的数据集。
如果实在本地
使用DataAdapter.Upate(DataRow[] drs);
会有更高的性能。
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
用事务。
还有一点就是用DATASET不用一直连在DB服务器上,,,基本上第一次用一下,,下面的增加,删除,修改都是在DATASET中完成,,,,,而不是再和DB服务器连接,,,,,,,减轻服务器负担!这也是优于直接用SQL之一吧吧!!!!对于需要立即更新的敏感信息不适合