给出的方法:为什么不处理SqlConnection?
internal static DataSet SelectDataSet(String commandText, DataBaseEnum dataBase)
{
var dataset = new DataSet();
SqlConnection sqlc = dataBase == DataBaseEnum.ZipCodeDb
? new SqlConnection(ConfigurationManager.AppSettings["ZipcodeDB"])
: new SqlConnection(ConfigurationManager.AppSettings["WeatherDB"]);
SqlCommand sqlcmd = sqlc.CreateCommand();
sqlcmd.CommandText = commandText;
var adapter = new SqlDataAdapter(sqlcmd.CommandText, sqlc);
adapter.Fill(dataset);
return dataset;
}
为什么SQLC(关闭SqlConnection)未设置调用方法超出范围或SQLC没有更多引用/关闭后?
编辑1: 即使它包裹在使用,我仍然可以看到使用(我已经连接池关闭)连接:
SELECT DB_NAME(dbid) as 'Database Name',
COUNT(dbid) as 'Total Connections'
FROM sys.sysprocesses WITH (nolock)
WHERE dbid > 0
GROUP BY dbid
编辑2: 有一些更多的调试与我从这里得到的帮助 - 答案是这个人硬编码连接字符串与池。感谢所有的帮助 - 如果可以的话,我会将所有回复标记为答案。
+1整齐的答案,比我的好。 – 2009-10-12 03:41:26