What happens when NOT closing recordsets in classi

2019-07-29 22:42发布

In legacy applications at work, i see not closed recordsets scattered on lots of pages.

  • What consequences does this have?
  • Does the connection close automatically?
  • Are resources released at the end of every request?

Update:

txn!

3条回答
Bombasti
2楼-- · 2019-07-29 22:54

Close recordset does not close the connection

http://www.devguru.com/technologies/ado/QuickRef/recordset_close.html

You should always close connections as soon as possible, to release them back into the connection pool.

A system that leaks connections will slow down and gradually grid to a halt.

查看更多
乱世女痞
3楼-- · 2019-07-29 22:58

If you don't close it you will have memory leaks, which can quickly eat up your resources. IIS will eventually clean resources for you, but it's not very reliable. It's safer and more reliable to explicitly close your recordset and then set it to nothing to free up resources. Also be sure close your connection and set it to nothing as well.

查看更多
Bombasti
4楼-- · 2019-07-29 23:03
  • What consequences does this have?

Resources don't get freed up as quickly, and depending on the rest of the code performance will suffer.

  • Does the connection close automatically?
  • Are resources released at the end of every request?

At the end of page execution, all connections are terminated and all resources released. Some people figure that since this happens, there is no need to worry about explicitly closing connections and/or releasing resources.

All things being equal, reliance on this is not something that is encouraged as you never know how things will play out in heavy traffic - which is why all the good tutorials/instructors will tell you to open only when you need, and release as soon as you are done.

查看更多
登录 后发表回答