2014-02-20 214 views

回答

2

SqlDataReader被設計爲僅使用SqlCommand的結果,或在ADO.NET框架某些其他數據源被創建。我假設列舉跨SQL Server數據庫連接的查詢結果需要一些內部實現方面的內容給讀者,ADO.NET類以外的任何人本身都沒有辦法提供。

如果你想自己創建一個datareader(如果你正在實現一個新的數據提供者,你只需要做這件事),這裏有IDataReader接口。

如果您想定製數據讀取器的行爲(例如,如果您正在爲ADO.NET編寫一個包裝程序庫,它提供了一些其他行爲,例如自動記錄異常,自動重試等),那麼您可能希望封裝SqlDataReader,使其成爲您正在創建的任何課程的私人成員(例如,假設您正在創建ExceptionLoggingDataReader)。您並沒有真正改變SQL數據訪問行爲本身,這就是爲什麼子類化SqlDataReader不是允許的選項。

相關問題