使用c#vs2008 winforms。Winforms窗体处理最佳实践中的Sql异常
我的标准形式具有
形式负载
SqlConnection对象打开一个典型的使用模式。
读/写数据集采用sqldataadaptors
读取使用SQL的读者很多东西
使用存储过程编写
关闭SQL连接
密切形式
在处理异常因此,whats最佳实践写了许多数据在这种类型的使用模式 中,我使用try catch子句将所有读取和写入代码放在sql服务器中以捕获异常。
那么当我陷入异常时我该怎么办?
我应该关闭并处理所有的sql对象吗?
我应该关闭窗体并处理窗体。
我应该尝试让用户继续
我应该尝试重新打开我的sqlconnection,如果异常是sql连接断开了?
鉴于我打开和关闭表单加载和关闭连接,因为它只有在理论上打开一次,并关闭一次与许多读写中间。
我只是不确定我应该采取什么行动,当我陷入异常,以防止内存和资源泄漏。
任何意见赞赏
感谢
另外SqlCommand是IDisposable。总是检查框架类的MSDN文档,看他们是否实现IDisposable;如果是这样,请使用“使用”块以确保及时处理它们。 – Polyfun
如果您是死锁受害者(错误1205),则整个事务将回滚,因此如果您重试,请确保从头重试事务(再次执行事务中的所有语句)。 – Polyfun
http://stackoverflow.com/questions/320636/how-to-get-efficient-sql-server-deadlock-handling-in-c-with-ado –