0
A
回答
3
您應該使用using
語句來代替:
using (var reader = sqlCommand.ExecuteReader())
{
// do stuff
}
這樣的話,你肯定讀者被關閉(設置),即使一個例外是在「做的東西」塊中引發。請參閱this MSDN page。
更新(關於您的評論):
的using
聲明其實沒有別的比一個try-finally塊,以確保讀者在任何情況下配置(關閉)。例如。上面的代碼是相同的:
SqlDataReader reader = null;
try
{
reader = sqlCommand.ExecuteReader();
}
finally
{
reader.Dispose(); // closes the reader
}
相關問題
- 1. 檢查null,哪個更好? 「空==」 或 「== NULL」
- 2. 關閉FileInputStream並將其設置爲null的區別
- 3. 關閉datareader NullReferenceException
- 4. Api設計:哪個更好:返回null爲空值或不爲空
- 5. WPF View在關閉時將ViewModel屬性設置爲null
- 6. 哪種性能更好?要測試一個布爾值是否爲真或將其設置爲所有時間?
- 7. 如何學說將其設置爲null
- 8. 使用哪一個:Dataset或Datatable或Datareader
- 9. 哪個更好 - (int)值或值爲int?
- 10. min或gzip,哪個更好?
- 11. 哪個更好? OpenCyc或ConceptNet?
- 12. 哪個更好,Nagios或Sensu?
- 13. jqGrid或dataTable,哪個更好?
- 14. PHP:ParseCSV或PHPExcel哪個更好?
- 15. DataTable或IList?哪個更好?
- 16. 哪個更好? city.state.id或city.state_id
- 17. PigServer或PigRunner?哪個更好?
- 18. 哪個更好H2或HSQLDB?
- 19. 哪個更好:PooledConnectionFactory或CachingConnectionFactory?
- 20. 哪個更好Paperclip或CarrierWave?
- 21. 哪個更好Math.random()或UIDUtil.createUID()
- 22. 哪個更好BOOST_MPL_ASSERT或BOOST_STATIC_ASSERT?
- 23. Magento或Prestashop,哪個更好?
- 24. Gzip或ob_flush()?哪個更好?
- 25. Japid或Scala哪個更好?
- 26. 哪個更好c89或c99
- 27. Coredata或Sqlite哪個更好
- 28. 哪個更好... GATE或RapidMiner
- 29. 哪個更好 - PyInstaller或cx_Freeze?
- 30. 哪個更好:Parcelable或Context?
什麼,如果發生異常using語句裏面..不會有finally語句的話.. – Saravanan 2011-06-15 12:02:02
@saravanan:看到更新的答案 – M4N 2011-06-15 12:26:19
謝謝..其實我有這個問題當我使用MySQL查詢時我得到了IO超時異常,我希望能夠緩慢運行。讓我檢查一下並更新你。 – Saravanan 2011-06-15 13:03:12