_ConnectionPtr _CommandPtr _RecordsetPtr 释放资源

      在很早以前,那时在需要用到ado连接数据库的时候,在用完之后,我调用close(),关闭连接,调用release()释放资源,但是释放的时候,总是出现问题。但是想解决它们,感觉无能为力。于是纵之任之,一直没有解决。一直到了今天,这次码代码,我要操作数据库,又遇到了这个问题.......本来想跳过去,但是又想到那句话:

欠下的总要还的。现在不解决,早晚还是再要遇到了。

      开始思考,为什么会出现这个问题.....思路应该是没问题的:先关闭,在释放,可是为什么出错呢?_ConnectionPtr _CommandPtr _RecordsetPtr 这三个是个智能指针,内部指向所要调用的资源;我每次调用就是:->close(),->release();问题就是出在这里了。我调用->close()。是为了关闭连接,这个是没有错的,但是我调用->release是为了释放资源,初衷是好的,可是用->release()释放资源就出现问题了,因为->指向的资源,->release()并不能把资源释放了。所应该做的是调用.release(),让智能指针释放资源;道理就是这么简单,但是之前就是不明白......没有用心思考。mark一下。

你可能感兴趣的:(_ConnectionPtr _CommandPtr _RecordsetPtr 释放资源)