为什么dataset赋值前调用clear方法 看了一些代码,当DataSet重复赋值时会调用Clear()方法。有这个必要吗?直接赋值不是一样吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是用Fill方法就得清一下了,不然数据就混乱了。 呵呵,这个问题大的理论不是很了解我想,既然有clear()这个方法就有他的用处如果按你说的那样,可能在运行过程中也不会出什么错,但是不排除会出错或许不会报错,但是数据可能为有错。呵呵,个人理解 是这样的,Clear()是清除DataSet中已经有的数据。比如说你用select * from table1select * from table2两个SQL语句来填充DataSet中去,那么DataSet中就会有两个表中的内容了。但是如果你在用table2中的数据填入DataSet中的时候你不用Clear()方法,那第二个表的内容就会添加在第一张表后面了。反过来,如果你调用了Clear()方法后再添入第二张表的数据,那么DataSet中就只会有第二张表的内容了。这样你应该明白了吧。 DataSet ds=new DataSet();ds=GetDataSet(argu1);//GetDataSet是自定义的,返回一个DataSet..//一些处理.//现在需要对ds重新赋值ds=GetDataSet(argu2);这样ds也需要Clear吗? 必须要Clear()。因为Dataset里可以储存N多Table,Table当然是存数据了,当Dataset 再次Fill时他不会把原来里面已有的数据清除。例如:Dataset现已储存Tabel1的数据,现在你要把Table2的数据储存到Dataset里,只要再你 Clear()之前Table1的数据会一直存在里面。 缓存问题使用clear()是确保你取出来的数据是你想要的。 Dataset里可以储存多个Table,不清除会一直占用缓存建议清除 我觉得像这样:ds=GetDataSet(argu2);直接给DataSet赋值,而不是在原来的ds上再添加数据,如此相当于创建了一个新的DataSet对象,ds这个引用指向了这个新对象,那么原来的对象应该有垃圾回收机制回收就可以了。不知道是不是这个道理,待高手指点。 接口的理解 类文件中读取同级xml文件的路径问题。 在线等。!!!! C#怎样获取文件相对路径 C#程序,长时间不操作,能否自动关闭?求代码 求讲解下我这代码原理?(迷糊) 求教什么是c#的基础? dateTimePicker控件与monthCalendar之间传值问题,知道的高手指点一下啊 吉尼斯记录,世界最短小说 关于DataRow的问题! 在DATAGRID中如何使用BOOLCOLUMN C#中如何实现VC中的OnEraseBkgnd()消息函数?? 在线等!!!!!!!!! 范型变量比较大小
我想,既然有clear()这个方法就有他的用处
如果按你说的那样,可能在运行过程中也不会出什么错,但是不排除会出错
或许不会报错,但是数据可能为有错。
呵呵,个人理解
比如说你用select * from table1
select * from table2
两个SQL语句来填充DataSet中去,那么DataSet中就会有两个表中的内容了。
但是如果你在用table2中的数据填入DataSet中的时候你不用Clear()方法,那第二个表的内容就会添加在第一张表后面了。反过来,如果你调用了Clear()方法后再添入第二张表的数据,那么DataSet中就只会有第二张表的内容了。
这样你应该明白了吧。
ds=GetDataSet(argu1);//GetDataSet是自定义的,返回一个DataSet
.
.//一些处理
.
//现在需要对ds重新赋值
ds=GetDataSet(argu2);
这样ds也需要Clear吗?
建议清除
如此相当于创建了一个新的DataSet对象,ds这个引用指向了这个新对象,
那么原来的对象应该有垃圾回收机制回收就可以了。不知道是不是这个道理,待高手指点。