詳細說明ADO.NET類文件語句
ADO.NET類文件有很多值得學習的地方,這里我們主要介紹ADO.NET類文件,在向大家詳細介紹ADO.NET類文件之前,首先讓大家了解下ADO.NET類文件,對于ADO.NET類文件的使用。
當停止使用Connection或者DataReader對象時,明確地關閉它們。盡管無用單元收集程序最終會清除這些對象,并釋放連接和其它可管理資源,但是無用單元收集只在必要時才發生。因此確保昂貴的資源明確地被釋放仍然是你的職責。此外,ADO.NET類文件連接如果沒有被明確的釋放將使它不會返回連接池。例如,如果連接池到達了最大值并且一個連接還有效,該超出范圍并且沒有被明確關閉的連接才返回到連接池。
注意不要在類的Finalize方法中調用Connection、DataReader、或者其它可管理對象的Close或者Dispose方法。ADO.NET類文件在該方法中只釋放類直接擁有的不可管理資源。如果類中沒有任何不可管理資源,在類定義中不要包含Finalize方法。 #t#
在C#中使用"Using"語句
對C#程序員來說,確保經常關閉Connection和DataReader對象的一個簡便方法是使用using語句。ADO.NET類文件會自動調用留在Using語句范圍內的被使用的對象上的Dispose,如下所示:
- string connString = "Data Source=localhost;
- Integrated Security=SSPI;Initial Catalog=Northwind;";
- using (SqlConnection conn = new SqlConnection(connString))
- {
- SqlCommand cmd = conn.CreateCommand();
- cmd.CommandText = "SELECT CustomerId, CompanyName FROM Customers";
- conn.Open();
- using (SqlDataReader dr = cmd.ExecuteReader())
- {
- while (dr.Read())
- Console.WriteLine("{0}\t{1}", dr.GetString(0), dr.GetString(1));
- }
- }
如果連接打開了,OleDbConnection.State使本地OLE DB向DATASOURCEINFO屬性集調用IDBProperties.GetProperties來獲取DBPROP_CONNECTIONSTATUS屬性,這可能引起重新返回數據源。換句話說,檢查State屬性可能花費很大。ADO.NET類文件因此只在必要時才檢查State屬性。如果你需要經常檢查該屬性,你監聽OleDbConnection的StateChange事件會使應用程序的性能更好。
與XML集成
ADO.NET在數據集中提供了廣泛的XML集成,并且暴露了一些SQL Server 2000及以上版本所提供的XML功能。你能使用SQLXML 3.0來訪問SQL Server 2000及以上版本所提供的XML功能。下面是使用XML和ADO.NET類文件的一些技巧和信息。