深入探索.NET資料存取: ADO.NET+SqlDataSource+LINQ (第2版) | 誠品線上

深入探索.NET資料存取: ADO.NET+SqlDataSource+LINQ (第2版)

作者 MIS2000 Lab./ 周棟祥/ 吳進魯
出版社 聯合發行股份有限公司
商品描述 深入探索.NET資料存取: ADO.NET+SqlDataSource+LINQ (第2版):本書是針對「已經會寫」資料庫程式的程式設計師所設計的案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱

內容簡介

內容簡介 本書是針對「已經會寫」資料庫程式的程式設計師所設計的案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱。不光是知道這些方法、屬性是什麼(名詞解釋)?更有範例可以直接套用、學習與解惑(不只是What,更要會動手寫,知道怎麼做How To Do)。 ◈以微軟Microsoft Doc(前MSDN)網站為基礎,介紹最常用、次常用的屬性與方法之實務應用。 ◈除了ASP.NET(Web Form)網頁,也搭配Windows Form的ADO.NET程式,演示跨平台資料存取。部分章節更提供ASP.NET MVC 5的範例。 ◈以.NET Framework為主,DataReader與SqlCommand、DataSet與SqlDataAdapter屬性與方法。 ◈EntLib企業函式庫(Enterprise Library)的資料存取(DAAB),快速整合DataReader與DataSet兩種寫法。 ◈開放式並行存取(Optimistic Concurrency)、.NET 2.0~4.x的非同步(Async.與Await)程式。 ◈撰寫分頁程式,搭配SQL Server資料庫的Row_Number、Offset…Fetch Next,實踐資料來源的分頁展示。 ◈Web Service與WCF Service搭配jQuery、JSON,做出Facebook無限下拉的資料呈現(AJAX分頁程式)。 ◈System.Transactions命名空間、TransactionScope與資料庫交易、SqlBulkCopy。 ◈SqlParameter參數避免資料隱碼(SQL Injection)攻擊。 ◈ASP.NET Web Form專用的SqlDataSource控制項的解說與剖析。 ◈LINQ與ADO.NET、LINQ語法介紹。 ☞【範例檔下載網址:https: reurl.cc E2baEm】☜

作者介紹

作者介紹 MIS2000 Lab. 周棟祥 博士 吳進魯周棟祥 博士 現職:國立高雄科技大學 資訊管理學系副教授兼教育事業暨產品推廣處處長 學歷:國立政治大學 資訊管理博士(2004 09~2008 02) 國立中正大學 資訊管理碩士(1999 09~2001 07) 研習:德國阿亨工業大學(RWTH AACHEN University) 新加坡國立大學(National University of Singapore) 新加坡南洋理工大學(Nanyang Technological University) 經歷:企業整合中心主任 研究發展處副研發長 區域產學合作中心主任 研究發展處推廣教育中心主任 研究發展處產學組組長 區域產學合作中心執行長 研究發展處推廣服務及教育組組長 管理學院院長特別助理 中華電信助理研究員 專長領域:服務科學、客戶關係管理、電信營運管理、電子商務、行動服務、工業4.0、物聯網與大數據應用 吳進魯 學歷:國立屏東科技大學 資訊管理研究所碩士 經歷: (1)1998~2000年為國立屏東科技大學計算機中心、屏東縣教育局舉辦的多場資訊教育訓練擔任講師(授課時數超過250小時)。 (2)國防役四年。資策會各式網站系統開發(七年經驗)、電信產業分析與Internet指標研究工作。 (3)資策會 教育訓練中心(南區)專任講師(專長Web程式設計)。負責600小時之就業輔導班。 (4)星動計畫B2Bi(XML資料交換,採用RosettaNet標準),VB 6.0與MS BizTalk Server系統開發與維護。客戶為國內電子業十大股票上市公司。 (5)任職於國內某資通大廠(全球資訊業百大公司),負責軟體技術規劃與系統整合。 (6)2008 4 1~2017 7 1榮獲MVP(微軟最有價值專家),專長ASP.NET。 (7)2010~2012年台中市電腦公會辦理 行政院勞委會職訓局 產業人才投資計畫,擔任ASP.NET專任講師。2015年起投入線上教學(遠距教學)並提供ASP.NET(WebForm與MVC)教學影片,讓學員線上學習。 著作: (1)2001至今已出版十多本電腦書籍。網站提供許多PDF電子書,免費分享Linux與ASP.NET知識。 (2)國內第一本推出Mandrake Linux,以及優先採用Visual Studio開發ASP.NET(1.x版)的電腦書作者。兩者均開創了台灣電腦書的新領域,並帶動新風潮。台灣少數自.NET 1.0~ 4.8版均有出書的資深作者,並發行簡體中文版至中國大陸。 (3)台灣第一本.NET 4.0與4.5的中文電腦書作者,4.0版創記錄熱銷八刷。

產品目錄

產品目錄 |CHAPTER 00| 本書導讀 0-1 學習順序,三大重點 0-2 ADO.NET四大經典範本 0-3 資料庫範例的安裝與YouTube教學影片 0-4 參考資料與書籍 Part I ADO.NET基礎入門篇 |CHAPTER 01| 程式與資料庫互動的四大步驟 1-1 ASP.NET與ADO.NET的簡單程式(DataReader) 1-2 JSP連結資料庫的四大步驟 1-3 PHP連結資料庫的四大步驟 1-4 深入瞭解四大步驟 1-5 連結字串(ConnectionString)不需死背 1-6 新的Microsoft.Data.SqlClient命名空間(.NET Core) |CHAPTER 02| Connection資料庫連結 2-1 Connection物件 2-2 ConnectionString,資料庫的連結字串 2-3 ConnectionString關鍵字數值的有效名稱 2-4 SqlDataSource產生連結字串(圖解Visual Studio精靈) 2-5 Web.Config檔案的連結字串 2-6 SqlDataSource資料庫連結字串for Oracle 2-7 SqlDataSource資料庫連結字串for Access 2-8 SqlDataSource資料庫連結字串for ODBC 2-9 .Open()方法 2-10 .Close()方法 2-11 .Dispose()方法 2-12 .CreateCommand()方法 2-13 .GetSchema()方法 2-14 多重結果作用集(MARS,MultipleActiveResultSets) 2-15 變更與取得資料庫 2-16 連結字串的安全性 2-17 連結字串與資料庫交易(Transaction) |CHAPTER 03| SQL Server連結共用(Connection Pooling) 3-1 集區(Pool)的建立及指派 3-2 Case Study:ClientConnectionId屬性 3-3 從集區加入連結 3-4 從集區移除連結 3-5 清除連結集區 |CHAPTER 04| Azure雲端資料庫、SQL Server的LocalDb、Oracle或MySQL資料庫 4-1 連結雲端資料庫(Microsoft Azure) 4-2 SQL Server的LocalDB與範例安裝 4-3 Oracle甲骨文資料庫 4-4 SqlDataSource與Oracle 4-5 MySQL資料庫 4-6 SqlDataSource控制項搭配MySQL Part II DataReader篇 |CHAPTER 05| SqlDataReader類別與常用方法,程式入門 5-1 DataReader觀念解析 5-2 DataReader的方法 5-3 .Read()方法 5-4 入門練習(I):實作DataReader與範例 5-5 Snippet,Visual Studio輔助您撰寫「程式碼片段」 5-6 入門練習(II):Inline Code,程式與畫面在同一檔案 5-7 先關閉Command再關閉DataReader 5-8 DataReader優缺點—快速又省資源、但無法分頁 5-9 使用try...catch...finally區塊 5-10 使用using...區塊,自動關閉資源 5-11 巢狀的(多個)using區塊 5-12 SQL指令的預存程序(Stored Procedure) 5-13 .NextResult()方法,傳回多個結果 5-14 多重結果作用集(MARS)與網路留言版(關聯式資料表) 5-15 Case Study:計算食物卡路里,.ExecuteScalar()方法 5-16 Case Study:計算食物的卡路里(可複選、加總) |CHAPTER 06| DataReader常用屬性 6-1 DataReader的屬性 6-2 Depth屬性 6-3 FieldCount屬性 6-4 HasRows屬性 6-5 RecordsAffected屬性,資料異動 6-6 .GetName()方法,取得欄位名稱 6-7 .GetValue()方法,個別擷取欄位的內容、值 6-8 .GetValues()方法,填入物件陣列,有效擷取「所有」欄位 6-9 .GetOrdinal()方法,為了效能只能呼叫一次 6-10 .IsDBNull()方法,避免空的欄位值 |CHAPTER 07| SqlCommand類別 7-1 SqlCommand建構函式與初始屬性值 7-2 SqlCommand與DataReader基礎範本 7-3 SqlCommand常用方法一覽表 7-4 .ExecuteReader()方法,查詢資料列(記錄) 7-5 .ExecuteReader(CommandBehavior)方法,查詢資料列(記錄) 7-6 .ExecuteNonQuery()方法,回寫資料庫(新增、刪除、修改) 7-7 例外狀況 7-8 SqlCommand的屬性 7-9 參數(Parameters)與SqlParameter Collection,避免SQL Injection攻擊 Part III DataSet篇 |CHAPTER 08| DataSet(資料集)+ DataAdapter(資料配接器) 8-1 Web網頁與Windows程式,使用DataSet的差異 8-2 何時該用DataReader或DataSet? 8-3 DataSet是一種「離線」的資料存取 8-4 DataSet的流程與範例程式 8-5 SQL Server連結字串(ConnectionString) 8-6 DataTable與DataRow 8-7 使用using...區塊 8-8 Case Study:將DataSet轉成XML檔案(I) 8-9 Case Study:將DataSet轉成XML檔案(II) 8-10 Relations屬性 8-11 總複習,DataAdapter的.Fill()與.Update()方法 |CHAPTER 09| DataTable與DataView 9-1 DataTable,存放在記憶體中關聯式資料的「資料表」 9-2 實作DataTable與範例 9-3 將DataColumn(資料行、欄位)加入DataTable 9-4 將DataRow(資料列、記錄)加入DataTable 9-5 多個DataAdapter將不同資料來源加入DataSet 9-6 DataView,自訂資料檢視 9-7 實作DataView與範例 9-8 尋找資料列,DataView的.Find()方法和.FindRows()方法 |CHAPTER 10| DataAdapter與SqlDataAdapter類別 10-1 簡介DataAdapter(資料配接器)物件 10-2 入門練習(I),DataAdapter與DataSet範例實作 10-3 入門練習(II),SqlDataAdapter兩大方法 10-4 SqlDataAdapter的建構函式 10-5 MissingMappingAction與MissingSchemaAction屬性 10-6 SqlDataAdapter的四個Command 10-7 DataAdapter各種Command與參數的寫法 10-8 TableMappings屬性 10-9 UpdateBatchSize屬性,批次處理大量的SQL命令 10-10 .Fill()方法 10-11 Case Study:將查詢結果「分頁」展示(DataSet版) 10-12 .Update()方法,資料異動 10-13 DataAdapter的三個事件 Part IV ADO.NET整合範例篇 |CHAPTER 11| 跨平台ADO.NET範例(Windows Form .exe執行檔) 11-1 Windows Form寫法(I)─基礎篇 11-2 Windows Form寫法(II)─在App.Config檔的連結字串 11-3 編譯後的.exe檔案在哪裡? 11-4 重點複習與影片教學 |CHAPTER 12| 自訂分頁(Paging),自己寫程式做「分頁」 12-1 分頁程式(DataSet基礎入門版) 12-2 分頁(DataSet進階版)每十頁區隔 12-3 每十頁間隔,易出錯的地方與效能瓶頸 12-4 Case Study:DataReader分頁+SQL 2005(ROW_NUMBER) 12-5 Case Study:DataReader分頁+SQL 2012(OFFSET...FETCH Next...) 12-6 Case Study:搭配其他控制項(Repeater或GridView) 12-7 GridView自訂分頁(.NET 4.5起才有)AllowCustomPaging與VirtualItemCount |CHAPTER 13| 分頁優化與最佳化,StringBuilder、SQL指令、MVC的LINQ分頁 13-1 該用String或StringBuilder?用對了讓程式更有效率 13-2 微軟Microsoft Docs網站範例,傳統SQL指令的TOP與Where 13-3 T-SQL指令的分頁優化,TOP、ROW_NUMBER與OFFSET-FETCH三者差異 13-4 LinqDataSource控制項,內建資料分頁 13-5 ASP.NET MVC的LINQ分頁範例 |CHAPTER 14| ASP.NET Core與ADO.NET簡易入門 14-1 開放原始碼的ASP.NET Core 14-2 新增專案,ASP.NET Core Web Application 14-3 ASP.NET Core的ADO.NET入門範例 14-4 連結資料庫(SqlConnection) 14-5 連結資料庫(appsettings.json裡的連結字串) 14-6 執行SQL指令,SqlCommand與DataReader 14-7 中文出現亂碼,如何解決? 14-8 「參數」的寫法,防範SQL Injection攻擊 14-9 ASP.NET Core的各種連結字串(各式資料庫) |CHAPTER 15| 簡易入門ViewModel(小類別)與DAL、強型別來源物件 15-1 Case Study:搜尋引擎,簡單的ViewModel與類別檔 15-2 Case Study:強型別來源物件範例 15-3 EF與工具,快速產生類別檔 15-4 Web Form與Model Binding(附:教學影片) |CHAPTER 16| ASP.NET MVC與ADO.NET 16-1 新增ASP.NET MVC專案(Project) 16-2 新增模組(Model) 16-3 控制器(Controller) 16-4 範例(I)–Create,資料新增 16-5 範例(II)–資料呈現,讀取與列表(檢視畫面的List範本) 16-6 範例(III)–新增資料(檢視畫面的Create範本) 16-7 課後補充與影片教學 |CHAPTER 17| GridView自己動手100%寫程式 17-1 HTML畫面設定 17-2 手動撰寫GridView各種功能(DataReader + SqlCommand) 17-3 手動撰寫GridView各種功能(DataSet + SqlDataAdapter) |CHAPTER 18| 非同步(Async)ADO.NET程式設計 18-1 非同步程式設計概論 18-2 非同步執行(.NET 2.0).BeginExecute Reader()與.EndExecuteReader()方法 |CHAPTER 19| .NET 4.5起的非同步(Async)ADO.NET程式設計 19-1 觀念解析、重點提示 19-2 .NET 4.5起的「非同步」存取 19-3 非同步方法的傳回類型 19-4 .NET 4.5起的非同步程式設計 19-5 Case Study:範例解說 19-6 交易(Transaction)與非同步 19-7 多重結果作用集(MARS)與非同步 19-8 SqlClient資料流(Streaming)與非同步 19-9 Case Study:讀取SQL Server的資料流(BLOB、文字檔與XML檔) 19-10 Case Study:寫入SQL Server的資料流(BLOB、文字檔與XML檔) |CHAPTER 20| 資料庫交易(Transaction)與SqlBulkCopy單一大量複製 20-1 Transaction,資料庫交易的觀念 20-2 TransactionScope類別,最簡單! 20-3 System.Transactions與SQL Server整合 20-4 CommittableTransaction類別與分散式交易SqlConnection的.EnlistTransaction()方法 20-5 System.Data.SqlClient命名空間的SqlTransaction類別 20-6 巢狀try...catch擷取例外狀況 20-7 效率之爭?誰快誰慢? 20-8 .NET 4.5起,非同步(Async)與資料庫交易 20-9 SqlDataSource控制項(Web Form)搭配Transaction 20-10 SqlBulkCopy單一批次大量複製(非交易) 20-11 SqlBulkCopy單一批次的大量複製(交易) Part V ASP.NET的DataSource控制項篇 |CHAPTER 21| DataSource控制項,資料來源控制(只限Web Form可用) 21-1 IDataSource介面與資料來源(DataSource)控制項 21-2 資料來源控制項與資料繫結控制項 21-3 資料繫結(綁定)與.DataBind()方法 21-4 SqlDataSource的DataSource屬性 |CHAPTER 22| SqlDataSource類別(只限Web Form可用) 22-1 SqlDataSource控制項與精靈步驟 22-2 DataSource,資料來源控制項概觀 22-3 後置程式碼DataSourceID屬性與DataSource屬性,兩者不可混用 22-4 DataSourceMode設定為DataReader 22-5 DataSourceMode設定為DataSet 22-6 搭配「參數」避免資料隱碼攻擊,SqlParameters 22-7 InsertCommand。自己打造新增畫面,撰寫程式碼(.Insert()方法) 22-8 InsertCommand + InsertParameters(參數) 22-9 自己打造新增畫面,透過SqlDatasource精靈(幾乎不寫程式) 22-10 UpdateCommand + UpdateParameters(參數) 22-11 DeleteCommand + DeleteParameters(參數) 22-12 SqlDataSource的例外狀況(e.ExceptionHandled = true) |CHAPTER 23| SqlDataSource範例集 23-1 新增、刪除、修改時,遇見空白則取消(e.Cancel =true) 23-2 .Select()方法-,自訂「輸出」畫面,手動呈現查詢的成果 23-3 FilterExpresssion(篩選條件運算式)與FilterParameters(參數) 23-4 SqlDataSource的快取 23-5 SqlCacheDependency屬性 23-6 SelectCommand+SelectParameters(參數),內部搜尋引擎 23-7 Case Study:SqlDataSource + CheckBoxList的搜尋功能 Part VI Parameter參數篇 |CHAPTER 24| 設定參數與資料型別、SqlParameterCollection類別 24-1 現學現賣,SqlCommand的參數寫法 24-2 現學現賣,SqlDataAdapter的參數寫法 24-3 Case Study:ParameterDirection屬性 24-4 參數的預留位置 24-5 參數的資料型別 24-6 不建議使用CommandBuilder 24-7 SqlParameterCollection類別 24-8 .Add()方法 24-9 .AddWithValue()方法 24-10 使用參數配合SqlCommand和預存程序 24-11 使用參數配合OleDbCommand 24-12 使用參數配合OdbcCommand 24-13 SqlDataAdapter使用參數 |CHAPTER 25| 站內的搜尋引擎(I)─基礎入門 25-1 單一欄位的搜尋(Web Form) 25-2 多重欄位的搜尋(Web Form、觀念解說) 25-3 自己寫程式「多重欄位的搜尋」(Web Form) 25-4 多重欄位的搜尋(DataSet版,搭配SelectCommand參數) 25-5 自己動手寫(50%SqlDataSource)搜尋功能 25-6 自己動手寫(100%SqlDataSource)搜尋功能 25-7 單一欄位的搜尋(ASP.NET MVC) 25-8 自己寫程式「多重欄位的搜尋」(ASP.NET MVC) |CHAPTER 26| 站內的搜尋引擎(II)─範例改寫基礎入門 26-1 用CheckBoxList輸入「複選」搜尋條件 26-2 微軟範例,String.Join()方法 26-3 Case Study:將方法與資料表抽離,寫成類別檔 Part VII 補充案例篇 |CHAPTER 27| 開放式並行存取(Optimistic Concurrency) 27-1 封閉式並行存取 27-2 開放式並行存取 27-3 範例演練,Case Study 27-4 以SQL指令測試開放式同步存取之違規 27-5 DataAdapter的RowUpdate三大事件 |CHAPTER 28| 企業函式庫Enterprise Library 6.0的DAAB 28-1 EntLib的沿革與特點 28-2 安裝EntLib與Visual Studio加入參考 28-3 入門(I),DAAB存取資料庫 28-4 入門(II),資料庫的連結 28-5 入門(II),撰寫DataReader的程式 28-6 DataReader與參數 28-7 入門(III),撰寫DataSet的程式 28-8 DataSet與參數 28-9 EntLib的原始碼(源碼) 28-10 DAAB與ADO.NET寫法的差異? 28-11 深入剖析DAAB存取資料的方法 28-12 建立與執行Accessor,以「物件」傳回資料 28-13 接收XML資料,僅限MS SQL Server使用 28-14 取得單一純量的值,Scalar Value Part VIII LINQ篇 |CHAPTER 29| LINQ與ADO.NET 29-1 LINQ-to-DataSet 29-2 LINQ-to-SQL |CHAPTER 30| LINQ語法簡介與實戰 30-1 查詢(Query) 30-2 資料來源 30-3 類型的關聯性與轉換 30-4 好料下載,LINQ–Query Samples 30-5 Case Study與各種查詢語法 30-6 Lambda運算式 30-7 聯結(join)

商品規格

書名 / 深入探索.NET資料存取: ADO.NET+SqlDataSource+LINQ (第2版)
作者 / MIS2000 Lab. 周棟祥 吳進魯
簡介 / 深入探索.NET資料存取: ADO.NET+SqlDataSource+LINQ (第2版):本書是針對「已經會寫」資料庫程式的程式設計師所設計的案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱
出版社 / 聯合發行股份有限公司
ISBN13 / 9789864345625
ISBN10 / 9864345621
EAN / 9789864345625
誠品26碼 / 2681996373002
頁數 / 816
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 23X17X4.2CM
級別 / N:無

最佳賣點

最佳賣點 : 本書是針對「已經會寫」資料庫程式的程式設計師所設計的案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱。不光是知道這些方法、屬性是什麼(名詞解釋...

活動