第二版增加了MVC、.NET Core的部分

如果您已經購買了第一版(松崗、文魁出版),那麼是否要 "重複購買" 第二版請自行考慮。

 

我交稿後,隔了一年才上市,所以 .NET Core已經從 2.x版升級為 3.1,又升級為 .NET Core 5。這部分改寫了兩次。

書本搭配的MVC範例,是 .NET Framework(.NET 完整版)的 ASP.NET MVC 5,並非 .NET Core MVC

 

如果您需要 .NET Core MVC 線上教學 課程,請到 9vs1.com選購

– ASP.NET Core快速升級之道  https://9vs1.com/go/?i=55fa855f1213 

– ASP.NET Core / ASP.NET 5 (MVC) 網路購物商城(專題範例)  https://9vs1.com/go/?i=3068dbaf1713  

 

博碩出版社,深入探索.NET資料存取:ADO.NET + SqlDataSource + LINQ(第二版)

https://www.books.com.tw/products/0010887715?loc=P_0005_004  (博客來) 

https://www.tenlong.com.tw/products/9789864345625  (天瓏書局) 

https://24h.pchome.com.tw/books/prod/DJAA2V-A900B7TJF  (PChome 24h)

書本範例下載    https://onedrive.live.com/?id=6F7F668080F24B20%212771&cid=6F7F668080F24B20

 

000001_1616992884

書本目錄如下(新增的部分會特別標示。但也有刪除的章節)

|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簡易入門……線上課程  https://9vs1.com/go/?i=3521cd47f718
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 ……線上課程  https://9vs1.com/go/?i=92050bb6f715
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)

 

第一版介紹的 Web Service / WCF這幾個章節,改為線上教學。您可以在 9vs1.com購買這些課程

https://9vs1.com/go/?i=f9a8ff53f717   (網址內含 優惠折扣)

arrow
arrow

    MIS2000 Lab 發表在 痞客邦 留言(0) 人氣()