垃圾回收的一点有关问题向大家请问下

垃圾回收的一点问题向大家请教下?
    我写的程序有一个调用access数据库并修改其字段的功能,在调用并修改中发现access在有连接情况下不能对其字段进行修改。我检查了代码,变量用过之后都进行了赋null的处理,而且也没有设置调用access的全局变量,都是局部变量,但还是提示不能增删字段。最后实在没有办法我调用了GC.collect()方法,运行发现解决了问题,可查了一些资料微软不建议使用此方法,现在非常的担心,不知道有什么潜在隐患?
------解决思路----------------------
“access在有连接情况下不能对其字段进行修改”
是有程序异常?还是0 row affected?

你这种情况的根本原因肯定不是手动调用GC回收解决的,又不是非托管资源
------解决思路----------------------
是你自己手动打开了access了么。
------解决思路----------------------
手动调用一般也没有什么问题,前提是确保  其它对象或变量没有被使用。  感觉还是程序问题。。。
------解决思路----------------------
引用:
“access在有连接情况下不能对其字段进行修改”
是有程序异常?还是0 row affected?

你这种情况的根本原因肯定不是手动调用GC回收解决的,又不是非托管资源

数据库连接是非托管资源吧

每次创建之前可以判断一下,使用连接之后都可以释放Close(); Dispose(); 
求指导