很多人可能跟我一样,在程序中使用Collection类做大量数据的存储,因为他十分方便,操作简单。这种被称为集合对象的东西有的时候确实非常令人不解~
看下面这段代码(其中c为一个Collection对象,rec为一个以打开的Recordset):
c.Add rec("Name")
发现问题了吗?没有?哦~我开始也没发现,但是当到了另一个事件:
a=c(1)
出错了……回到上面调试~没错~问题就出在前句~应该写成:
sTmp=rec("Name")
c.Add sTmp
由于Collection它会根据接受的数据改变其中的类型,在接受rec("Name")时,直接把他当作一个对象存入,但到了别的事件,由于rec已被销毁,故出错~因此要使用一个临时变量存下他的值才能存入Collection~
博客指出在程序中使用Collection类存储大量数据很方便,但也存在问题。通过代码示例说明,直接将rec(\Name\)存入Collection会出错,因为Collection会根据接受数据改变类型,且rec销毁后会导致后续事件出错,解决办法是用临时变量存值再存入Collection。
169

被折叠的 条评论
为什么被折叠?



