深入探索 .NET資料存取:ADO.NET + SqlDataSource+ LINQ
內容描述
<內容介紹>
本書是針對已經會寫資料庫程式的程式設計師所設計的一本案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱。不光是知道這些方法、屬性是什麼(名詞解釋)?更有範例可以直接套用、學習與解惑。
<章節目錄>
Part I:資料庫連線篇
第1章 程式與資料庫互動的四大步驟
商用應用程式連結資料庫是最早的第一步,不管是ASP.NET、PHP、JSP作法都雷同,本章我們將來了解這四大步驟為何。
第2章 Connection資料庫連結
資料庫的連結(Connection)與相關的應用(MARS多重結果作用集、交易),常用的屬性與方法都會在本章介紹。
第3章 SQL Server連結共用(Connection Pooling)
集區(Pool)的建立及指派,以範例為您實作ClientConnectionId屬性。
Part II:DataReader篇
第4章 Microsoft Azure雲端資料庫與LocalDb
介紹如何連結雲端資料庫(Microsoft Azure)以及SQL Server的LocalDB與範例安裝。
第5章 SqlDataReader類別與常用方法
SqlDataReader觀念解說以及各種DataReader的應用範例與Case Study。
第6章 DataReader常用屬性
SqlDataReader常用方法與屬性的介紹。
第7章 SqlCommand類別
介紹SqlCommand的方法與應用情境,並告訴您如何避免SQL Injection的攻擊。
Part III:DataSet篇
第8章 DataSet(資料集)+ DataAdapter(資料配接器)
介紹Web網頁與Windows程式,使用DataSet的差異?以及何時該用DataReader和DataSet?
第9章 DataTable與DataView
本章介紹如何將DataColumn(資料行、欄位)、DataRow(資料列、記錄)加入DataTable。以及DataAdapter如何將不同資料來源加入DataSet。
第10章 DataAdapter與SqlDataAdapter類別
為您介紹DataAdapter(資料配接器)物件與DataSet 範例實作,MissingMappingAction 與MissingSchemaAction 屬性。以及SqlDataAdapter 的四個Command與參數的寫法,用來批次處理大量的SQL命令的UpdateBatchSize屬性。
Part IV:應用實戰篇
第11章 跨平台ADO.NET程式(Windows Form,exe執行檔)
本章介紹如何將ASP.NET網頁使用的ADO.NET改寫成Windows Form版(.exe檔)。
第12章 自訂分頁(Paging),從資料來源進行「分頁」
本章的分頁程式,從DataSet 基礎入門版到每十頁區隔的進階版都有介紹,並且真正從資料來源作分頁。也為您介紹.NET 4.5 起的GridView自訂分頁—AllowCustomPaging 與 VirtualItemCount屬性。
第13章 分頁優化與最佳化,StringBuilder、SQL指令的改善
字串相連是網頁程式常用的技巧,本章將告訴您何時用String 或StringBuilder讓程式更有效率,並從實務中驗證各種T-SQL 指令的分頁成效,例如:TOP 與Where、ROW_NUMBER 與OFFSET...FETCH。
Part V:網路服務篇
第14章 SOA服務導向應用程式(I)─ Web Service(.asmx)
介紹Web Service(Web 服務,ws-*)可用的資料型態與JSON 格式,可以搭配各種前端畫面。本章包含:透過Web Service 做Single Sign-on(SSO)、使用交易(Transaction)、SoapException例外狀況。
第15章 SOA服務導向應用程式(II)— WCF服務
本章介紹WCF功能與Microsoft技術的整合、WCF架構與Server/Client端實作,以及WCF文件中常用的詞彙解析。
第16章 jQuery、AJAX與Web Service
本章討論jQuery函式庫入門與應用,讓您遊歷DOM、控制事件,並搭配Web Service一同運作。
Part VI:進階範例篇
第17章 GridView 100%自己動手寫程式
以ADO.NET為您示範手動撰寫GridView各種功能,如DataReader + SqlCommand,以及DataSet + SqlDataAdapter。
第18章 非同步(Async)ADO.NET程式設計
介紹非同步程式設計概論,(.NET 2.0).BeginExecuteReader() 與.EndExecuteReader()方法。
第19章 .NET 4.5起的非同步(Async)ADO.NET程式設計
.NET 4.5 起的「非同步」存取,寫法更簡單。您可以學會傳回類型與新的非同步方法。我們還會以實務範例介紹BLOB、文字檔與XML 檔與資料庫的應用。
第20章 資料庫交易(Transaction)與SqlBulkCopy單一大量複製
資料庫交易(Transaction)與TransactionScope 類別,該如何與SQL Server 整合?本章將為您介紹CommittableTransaction 類別與分散式交易SqlConnection 的.EnlistTransaction() 方法、SqlTransaction 類別與巢狀try...catch 擷取例外狀況。並為您解析交易的效率之爭與SqlBulkCopy 單一批次大量複製(包含非交易 & 交易兩種案例)
Part VII:ASP.NET SqlDataSource篇
第21章 DataSource控制項,資料來源控制項
本章將為您介紹資料來源控制項與資料繫結控制項,還有相關的資料繫結(綁定)與.DataBind() 方法。
第22章 SqlDataSource類別(只限Web Form可用)
DataSourceMode屬性可以自己動手設定,讓效能更好。也可以動手寫程式搭配「參數」避免資料隱碼攻擊。本章範例包含SqlDataSource的例外狀況處理(e.ExceptionHandled = true)與CRUD應用範例SqlDataSource範例與進階功能。
第23章 SqlDataSource 範例與進階功能
本章提供下列範例讓您功力倍增,包含:新增、刪除、修改時,遇見空白則取消。利用.Select()方法,自訂「輸出」畫面,手動呈現查詢的成果。以及SqlDataSource的快取和SqlCacheDependency屬性介紹。
Part VIII:補充加強篇
第24章 參數與資料型別、SqlParameterCollection類別
本章介紹參數的用法讓您避開SQL Injection資料隱碼攻擊,包含SqlCommand & SqlDataAdapter的參數寫法、ParameterDirection屬性、SqlParameterCollection 類別、常用屬性與方法。
第25章 站內的搜尋引擎(I)─ 基礎入門
本章為範例實戰,為您實作單一欄位&多重欄位的搜尋(觀念解說)、操作SqlDataSource,或是自己動手撰寫「搜尋」程式。
第26章 站內的搜尋引擎(II)─ 範例應用
本章為範例實戰,教您實作用CheckBoxList輸入「複選」搜尋條件、輸入多重關鍵字的搜尋(String.Join()方法),最後搭配一個整合範例 ─ 將方法與資料表抽離,寫成類別檔。
第27章 開放式並行存取(Optimistic Concurrency)
為您解析「封閉式」&「開放式」並行存取的觀念。
第28章 企業函式庫Enterprise Library 6.0的DAAB
介紹以工廠模式撰寫的企業函式庫,其中與資料存取相關的DAAB是本文重點。
Part IX:LINQ篇
第29章 LINQ與ADO.NET
LINQ(整合查詢語法)的入門與觀念解析,為您介紹LINQ-to-DataSet、LINQ-to-SQL。
第30章 LINQ語法簡介與實戰
本文為LINQ語法實作,包含:查詢(Query)、資料來源、類型的關聯性與轉換、Case Study與各種查詢語法、Lambda運算式、聯結(join)等等。