給出的方法:爲什麼不處理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