
0人評分過此書
深入探索 .NET資料存取:ADO.NET+SqlDataSource+LINQ
本書是針對「已經會寫」資料庫程式的程式設計師所設計的案頭書,當遇到資料存取相關問題時可以隨時拿出來查閱。不光是知道這些方法、屬性是什麼(名詞解釋)?更有範例可以直接套用、學習與解惑(不只是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語法介紹。
◈以微軟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語法介紹。
-
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-2-2 如何建立自己的 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) .BeginExecuteReader() 與 .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-3-3 以ASPNETMVC為例(.NET Framework 4.x 版)
-
20-4 CommittableTransaction 類別與分散式交易 SqlConnection 的 .EnlistTransaction() 方法
-
20-5 SystemDataSqlClient 命名空間的 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 的 RowUpdated 三大事件
-
-
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–QuerySamples
-
30-5 Case Study與各種查詢語法
-
30-6 Lambda運算式
-
30-7 聯結(join)
-
-
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分