【发布时间】:2011-09-01 13:44:40
【问题描述】:
我们有一个简单的循环过程,可以在一些数据行上做一些事情。
当提交更改时,新行和 SqlConnection 对象被传递给处理行更改或添加的方法。
该过程运行 10 次中的 5 次,一切正常。 SqlConnection 在循环开始时打开并在循环后关闭,但有时它确实在循环期间关闭。代码在循环期间的任何时候都不会调用 close()。
所以我的问题是它为什么会自行关闭。
干杯
作为参考,代码类似于以下内容
connection.Open();
foreach(DataRow row in rows)
{
if(rubbish)
{
//make some changes and save
DatabaseConnector.Save(sqlStringToExecute, connection);
}
}
connection.Close();
【问题讨论】:
-
你能显示你的代码吗?它会让你的问题更清楚。
-
也许您应该为每个操作使用多个连接?
-
永远不要像上面那样做代码,如果发生任何事情并且抛出异常,您的连接将不会关闭,在您声明它的地方,使用 Using 语句,因此在任何情况下连接都将被关闭和处理超出范围时。
-
连接真的关闭了吗(什么是异常或错误消息)?可能是(分布式)事务在下面超时了吗?可能是语句超时。
标签: .net sqlconnection