內容簡介
本書詳細介紹了使用Visual C#.NET 2008進行資料庫應用程式設計和開發
關係型資料庫(比如MicrosoftAccess、SQL Server和
Oracle資料庫)時應該考慮的問題。與傳統圖書使用大量代碼塊進行知識點介紹不同,本書既介紹Visual Studio.NET提供的設計工具和嚮導,又介紹運行時對象方法,並結合對60多個實際案例的具體分析,向讀者詳細介紹了資料庫編程的關鍵技術。
圖書目錄
第1章 本書概述 1
第2章 資料庫簡介 9
2.1 什麼是資料庫和資料庫程式 10
2.1.1 檔案處理系統 10
2.2 開發資料庫 12
2.3 示例資料庫 13
2.3.1 關係數據模型 16
2.3.2 實體-關係模型(ER模型) 16
2.4 鍵 17
2.4.1 主鍵和實體完整性 17
2.4.2 候選鍵 17
2.4.3 外鍵和參照完整性 17
2.5 定義關係 18
2.6 ER表示法 21
2.7 數據規範化 21
2.7.1 第一範式(1NF) 22
2.7.2 第二範式(2NF) 22
2.7.3 第三範式(3NF) 23
2.8 一些主流資料庫中的
資料庫對象 24
2.8.1 Access中的資料庫對象 25
2.8.2 SQL Server中的資料庫對象 26
2.8.3 Oracle中的資料庫對象 29
2.9 創建Microsoft Access 2007
示例資料庫 32
2.9.1 創建表LogIn 32
2.9.2 創建表Faculty 34
2.9.3 創建其他表 35
2.9.4 創建表之間的關係 38
2.10 創建Microsoft SQL Server 2005
示例資料庫 40
2.10.1 創建表LogIn 42
2.10.2 創建表Faculty 43
2.10.3 創建其他表 44
2.10.4 創建表之間的關係 48
2.11 創建Oracle Database 10g
示例資料庫 54
2.11.1 創建Oracle用戶資料庫 55
2.11.2 向Oracle用戶資料庫
添加新表 56
2.11.3 創建表之間的約束 67
2.12 本章小結 73
第3章 ADO.NET簡介 77
3.1 ADO與ADO.NET 77
3.2 ADO.NET 2.0概述 78
3.3 ADO. NET 2.0的架構 79
3.4 ADO.NET 2.0的組件 80
3.4.1 數據提供程式 80
3.4.2 Connection類 83
3.4.3 Command類和Parameter類 87
3.4.4 DataAdapter類 95
3.4.5 DataReader類 97
3.4.6 DataSet組件 100
3.4.7 DataTable組件 105
3.4.8 ADO.NET 3.5 Entity
Framework 110
3.5 本章小結 123
第4章 LINQ簡介 129
4.1 LINQ概述 129
4.1.1 LINQ中使用的一些
特殊接口 130
4.1.2 標準查詢操作符 132
4.1.3 延遲的標準查詢操作符 133
4.1.4 非延遲的標準查詢操作符 136
4.2 LINQ查詢介紹 139
4.3 LINQ的架構和組件 141
4.3.1 LINQ to Objects概述 142
4.3.2 LINQ to DataSet概述 143
4.3.3 LINQ to SQL概述 144
4.3.4 LINQ to Entities概述 144
4.3.5 LINQ to XML概述 145
4.4 LINQ to Objects 145
4.4.1 LINQ與ArrayList 145
4.4.2 LINQ與字元串 147
4.4.3 LINQ與檔案目錄 151
4.4.4 LINQ與反射 153
4.5 LINQ TO DataSet 155
4.5.1 操作DataSet對象 155
4.5.2 使用擴展方法操作
DataRow對象 166
4.5.3 操作DataTable對象 169
4.6 LINQ TO SQL 170
4.6.1 LINQ to SQL實體類
和DataContext類 171
4.6.2 LINQ to SQL資料庫操作 174
4.6.3 LINQ to SQL實例 181
4.7 LINQ TO Entities 181
4.7.1 對象服務組件 182
4.7.2 ObjectContext組件 182
4.7.3 ObjectQuery組件 182
4.7.4 LINQ to Entities的執行流 182
4.7.5 LINQ to Entities實例 184
4.8 LINQ to XML 185
4.8.1 LINQ to XML中類的
層次結構 185
4.8.2 操縱XML元素 186
4.8.3 操縱XML特性 190
4.8.4 使用LINQ to XML查詢
XML 191
4.9 C# 3.0針對LINQ的語言
增強特性 195
4.9.2 擴展方法 197
4.9.3 隱式類型局部變數 198
4.9.4 查詢表達式 199
4.10 本章小結 200
第5章 使用Visual C#.NET
查詢數據 205
5.1 完成後的簡單資料庫實例 206
5.2 Visual Studio 2008設計工具
和嚮導 209
5.2.1 Toolbox工具箱中的數據
設計工具 209
5.2.2 Data Sources窗格中的
數據設計嚮導 212
5.3 使用SQL Server創建一個
簡單的資料庫項目——
SelectWizard 218
5.4 添加和使用Visual Studio中的
嚮導和設計工具 226
5.5 使用DataGridView控制項
查詢並顯示數據 230
5.5.1 查看全表 230
5.5.2 查看每一條記錄或
特定的列 232
5.6 使用數據集設計器編輯
DataSet的結構 233
5.7 將數據綁定到LogIn窗體中的
控制項 235
5.8 開發使用Fill()方法查詢數據的代碼 237
5.9 在LogIn窗體中使用返回
單個值的查詢檢索數據 240
5.10 為Selection窗體編寫代碼 242
5.11 將數據綁定到Faculty窗體
中相應的控制項 244
5.12 編寫從Faculty表中查詢
數據的代碼 245
5.12.1 編寫使用SQL SELECT
方法查詢數據的代碼 246
5.12.2 編寫使用LINQ方式查詢
數據的代碼 248
5.13 在Faculty窗體中顯示圖片 248
5.14 將數據綁定到Course窗體
中的相應控制項 250
5.15 為Course窗體編寫數據
查詢代碼 254
5.15.1 使用TableAdapter方法
從Course表中查詢數據 254
5.15.2 使用LINQ方法從Course
表中查詢數據 256
一個簡單的資料庫項目——
SelectWizardOracle 258
5.16.1 創建一個新的Visual C#項目
——SelectWizardOracle 258
5.16.2 選擇並添加
Oracle Database 10g XE
作為數據源 259
5.17 運行時對象簡介 262
5.18 使用運行時對象查詢
Microsoft Access 2007
資料庫中的數據 264
5.18.1 在LogIn窗體中使用
運行時對象查詢數據 265
5.18.2 為Selection窗體編寫
代碼 270
5.18.3 在Faculty窗體中使用
運行時對象查詢數據 272
5.18.4 在Course窗體中使用
運行時對象查詢數據 278
5.18.5 在Student窗體中使用
運行時對象查詢數據 287
5.19 使用運行時對象查詢
SQL Server資料庫 296
5.19.1 從Access遷移到
SQL Server和Oracle
資料庫 296
5.19.2 使用運行時對象查詢
數據 299
5.19.3 使用LINQ to SQL技術
查詢數據 332
5.20 使用Oracle資料庫運行時
對象查詢數據 347
5.20.1 Oracle Database 10g
Express Edition Release 2 347
5.20.2 配置Oracle資料庫的
連線字元串 348
5.20.3 使用運行時對象查詢
數據 349
5.21 本章小結 370
第6章 使用Visual C#.NET執行
數據插入 377
6.1 將新數據插入到資料庫 378
6.1.1 使用TableAdapter.Insert()方法將新記錄插入到資料庫中 379
6.1.2 使用TableAdapter.Update()方法將新記錄插入到資料庫中 379
6.2 示例項目InsertWizard:將
數據插入到Microsoft Access
資料庫中 380
6.2.1 基於SampleWizards項目
創建一個新項目 380
6.2.2 應用程式的用戶界面 380
6.2.3 創建Insert Faculty窗體 381
6.2.4 複製Visual C#.NET項目
和DataSet 383
6.2.5 在插入數據之前驗證數據 384
6.2.6 數據插入的初始化和
結束代碼 388
6.2.7 構造Insert查詢 389
6.2.8 開發使用
TableAdapter.Insert()方法插入數據的代碼 391
6.2.9 開發使用TableAdapter.Update()方法插入數據的代碼 393
6.2.10 在執行完插入操作之後
驗證所插入的數據 397
6.3 示例項目SQLInsertWizard:
將數據插入到SQL Server
資料庫中 403
6.3.1 將現有項目修改為一個
新的數據插入項目 403
6.3.2 創建一個在Course窗體中
插入數據的新窗體 404
6.3.3 打開並連線到Visual Studio
設計工具 406
6.3.4 在插入數據之前初始化
項目並檢驗數據 407
6.3.5 配置TableAdapter以創建
數據插入查詢 410
6.3.6 開發使用TableAdapter.Insert()方法執行數據插入的代碼 411
6.3.7 開發使用TableAdapter.Update()方法執行數據插入的代碼 414
6.3.8 使用Course窗體中的Select
按鈕進行數據驗證 416
6.3.9 使用存儲過程將數據
插入到資料庫中 417
6.4 示例項目OracleInsertWizard:
將數據插入到Oracle
資料庫中 420
6.5 運行時對象方法 421
6.6 使用運行時對象將數據插入到
SQL Server資料庫中 422
6.6.1 添加數據插入窗體:
Insert Faculty窗體 422
6.6.2 修改複製項目中的代碼 423
6.6.3 編寫初始代碼以及在插入
數據之前檢驗數據的代碼 424
6.6.4 將數據插入到Faculty表中 427
6.6.5 在數據插入後驗證數據 431
6.7 使用運行時對象將數據插入到
Microsoft Access資料庫中 437
6.7.1 修改名稱空間 438
6.7.2 移除SP窗體和Student
窗體 438
6.7.3 修改資料庫的連線字元串 439
6.7.4 修改登錄查詢字元串 441
6.7.5 修改查詢Faculty表的查詢
字元串 442
6.7.6 修改其他窗體 443
6.8 使用運行時對象將數據插入到
Oracle資料庫中 445
6.8.1 添加Oracle引用以及對
Oracle名稱空間的引用 445
6.8.2 修改項目的名稱空間 446
6.8.3 修改資料庫連線 447
6.8.4 修改登錄查詢字元串 448
6.8.5 修改查詢Faculty表的查詢
字元串 449
6.8.6 修改其他窗體 450
6.9 使用LINQ查詢將數據插入到
資料庫中 451
6.10 使用存儲過程將數據插入到
資料庫中 452
6.10.1 使用存儲過程將數據
插入到SQL Server
資料庫中 452
6.10.2 使用存儲過程將數據
插入到Oracle資料庫中 461
6.11 本章小結 468
第7章 使用Visual C#.NET更新
和刪除數據 473
7.1 更新或刪除資料庫中的數據 474
7.1.1 更新或刪除DataSet中
相關表的數據 474
7.1.2 使用TableAdapter DBDirect
方法更新或刪除資料庫中的
數據——TableAdapter.Update()方法和TableAdapter.Delete()方法 475
7.1.3 使用TableAdapter.Update()方法更新或刪除資料庫中的數據 476
7.2 更新或刪除Microsoft Access
資料庫中的數據 477
7.2.1 基於InsertWizard項目創建
新項目 477
7.2.2 開發應用程式的用戶界面 477
7.2.3 在更新或刪除之前檢查
數據 479
7.2.4 創建更新或刪除查詢 479
7.2.5 開發使用TableAdapter
DBDirect方法更新數據的
代碼 481
7.2.6 開發使用TableAdapter.Update()方法更新數據的代碼 482
7.2.7 使用TableAdapter DBDirect
方法開發刪除數據的代碼 484
7.2.8 開發使用TableAdapter.Update()方法刪除數據的代碼 485
7.2.9 在數據更新和刪除之後
驗證數據 486
7.3 更新或刪除SQL Server
資料庫中的數據 487
7.4 更新或刪除Oracle資料庫中的
數據 490
7.5 運行時對象方法 491
7.6 使用運行時對象更新或刪除
SQL Server資料庫中的數據 492
7.6.1 更新SQL Server資料庫中
Faculty表的數據 493
7.6.2 從SQL Server資料庫的
Faculty表中刪除數據 496
7.7 使用運行時對象更新或刪除
Oracle資料庫中的數據 500
7.7.1 添加對Oracle名稱空間的
引用 501
7.7.2 修改LogIn窗體中的連線
字元串和查詢字元串 501
7.7.3 修改Faculty窗體中的查詢
字元串 502
7.7.4 修改Course窗體的查詢
字元串 503
7.7.5 其他修改 504
7.8 使用存儲過程更新和刪除
資料庫中的數據 505
7.8.1 使用存儲過程更新和刪除
7.8.2 使用存儲過程更新或刪除
SQL Server資料庫中的
數據 512
7.8.3 在Oracle資料庫中使用存儲
過程更新或刪除數據 519
7.9 使用LINQ to SQL更新或
刪除資料庫中的數據 526
7.9.1 創建DataContext對象 528
7.9.2 編寫Select按鈕的單擊
事件處理程式 528
7.9.3 編寫Update按鈕的單擊
事件處理程式 529
7.9.4 編寫Delete按鈕的單擊
事件處理程式 530
7.10 本章小結 531
第8章 在ASP.NET中訪問數據 537
8.1 .NET Framework簡介 537
8.2 ASP.NET和ASP.NET 3.5
簡介 539
8.2.1 ASP.NET Web應用程式的
檔案結構 541
8.2.2 ASP.NET的執行模型 541
8.2.3 當Web應用程式執行時
實際發生的過程 542
8.2.4 測試和運行Web項目的
條件 542
8.3 開發ASP.NET Web應用程式,
選取並顯示SQL Server
資料庫中的數據 544
8.3.1 創建用戶界面——LogIn
窗體 545
8.3.2 開發用來訪問資料庫並獲取
數據的代碼 546
8.3.3 在客戶端驗證數據 549
8.3.4 創建第2個用戶界面——
Selection頁面 550
8.3.5 開發打開其他Web頁面的
代碼 551
8.3.6 創建第3個用戶界面——
Faculty頁面 553
8.3.7 開發用來選取教員信息的
代碼 555
8.3.8 創建第4個用戶界面——
Course頁面 561
8.3.9 開發用來選取指定課程信息的
代碼 564
8.4 開發ASP.NET Web應用程式,
將數據插入到SQL Server
資料庫中 570
8.4.1 創建新的Web頁面
Insert.aspx 571
8.4.2 開發用來執行數據插入
功能的代碼 572
8.4.3 編寫Page_Load()方法和Back按鈕的單擊事件處理程式 572
8.4.4 編寫Insert按鈕的單擊
事件處理程式 573
8.4.5 編寫其他方法的代碼 575
8.4.6 驗證數據插入操作 576
8.5 開發Web應用程式,更新或
刪除數據SQL Server資料庫
中的數據 579
8.5.1 應用程式的用戶界面 579
8.5.2 修改Faculty頁面的代碼 580
8.5.3 編寫Update按鈕的單擊
事件處理程式 581
8.5.4 編寫Delete按鈕的單擊
事件處理程式 584
8.6 使用LINQ to SQL查詢開發
ASP.NET Web 應用程式 589
8.6.2 創建一個新的DataContext
對象 592
8.6.3 編寫數據選取查詢的代碼 593
8.6.4 編寫數據插入查詢的代碼 594
8.6.5 編寫數據更新或刪除查詢的
代碼 594
8.7 開發ASP.NET Web應用程式,
從Oracle資料庫中選取數據 597
8.7.1 修改LogIn頁面中的連線
8.7.2 修改LogIn頁面中的查詢
字元串 599
8.7.3 修改Faculty頁面中的查詢
字元串 599
8.7.4 修改Course頁面中的查詢
字元串 601
8.8 開發ASP.NET Web應用程式,
向Oracle資料庫中插入數據 603
8.8.1 在Faculty頁面中添加兩個
控制項 604
8.8.2 修改Faculty頁面中一些
方法的代碼 605
8.8.3 在Faculty頁面中創建插入
新教員信息的代碼 607
8.9 開發ASP.NET Web應用程式,
更新或刪除Oracle資料庫中的
數據 610
8.9.1 修改項目,執行數據更新
操作 610
8.9.2 開發存儲過程,執行數據
刪除操作 612
8.10 本章小結 618
9.1 Web服務及其組件 623
9.2 創建Web服務的過程 625
9.2.1 Web服務項目的典型結構 625
9.2.2 創建Web服務項目時需要
實際考慮的問題 626
9.2.3 創建ASP.NET Web服務的
過程 627
9.3 創建ASP.NET Web服務項目,
訪問SQL Server資料庫 627
9.3.1 新Web服務項目中創建的
檔案和項目 628
9.3.2 HelloWorld Web服務項目的
運行效果 630
9.3.3 修改默認的Web服務項目 633
9.3.4 為Web服務創建一個處理
錯誤檢查的基類 634
9.3.5 創建實際的Web服務類 635
9.3.6 在Web服務類中添加Web
方法 636
9.3.7 為Web方法編寫代碼以
執行Web服務 636
9.3.8 開發存儲過程以執行數據
查詢 643
9.3.9 在Web方法中使用DataSet
作為返回對象 645
9.3.10 創建基於Windows的
Web服務客戶端以使用
Web服務 648
9.3.11 創建一個基於Web的
Web服務客戶端以使用
Web服務 656
9.3.12 將開發完成的Web服務
部署到產品級伺服器上 662
9.4 創建ASP.NET Web服務項目,
將數據插入到SQL Server
資料庫中 665
9.4.1 修改已有的Web服務項目 666
9.4.2 Web服務項目的開發過程 666
9.4.3 開發和修改後台代碼檔案 667
9.4.4 創建基於Windows的Web
服務客戶端以使用Web
服務 682
9.4.5 創建基於Web的Web服務
客戶端以使用Web服務 683
9.5 創建ASP.NET Web服務項目,
更新或刪除SQL Server資料庫
中的數據 694
9.5.1 修改已有的Web服務項目 694
9.5.2 修改相關的Web方法 695
9.5.3 開發兩個存儲過程:
WebUpdateCourseSP和
WebDeleteCourseSP 701
9.6 創建基於Windows的Web服務
客戶端以使用Web服務 711
9.7 創建基於Web的Web服務
客戶端以使用Web服務 712
9.7.1 創建新的網站項目並添加
已有的Web頁面 712
9.7.2 添加Web服務引用並修改
9.7.3 修改相關方法的代碼 714
9.8 創建ASP.NET Web服務項目
以訪問Oracle資料庫 721
9.8.1 創建Web服務項目
WebServiceOracleSelect 722
9.8.2 修改連線字元串 723
9.8.3 修改名稱空間列表 723
9.8.4 修改Web方法GetSQLSelect
及相關方法 724
9.8.5 修改Web方法GetSQLSelectSP
及相關方法 725
9.8.6 修改Web方法
GetSQLSelectDataSet 731
9.9 創建Web服務客戶端以使用
Web服務WebService-
OracleSelect 734
9.10 創建ASP.NET Web服務項目,
將數據插入到Oracle
資料庫中 735
9.10.1 創建Web服務項目
WebServiceOracleInsert 735
9.10.2 修改連線字元串 736
9.10.3 修改名稱空間列表 736
9.10.4 修改Web方法SetSQLInsertSP
及相關方法 736
9.10.5 修改Web方法GetSQLInsert
及相關方法 738
9.10.6 修改Web方法
SQLInsertDataSet 740
9.10.7 修改Web方法
GetSQLInsertCourse
及相關方法 741
9.11 創建Web服務客戶端
以使用Web服務
WebServiceOracleInsert 749
9.12 創建ASP.NET Web服務項目,
更新或刪除Oracle資料庫
中的數據 750
9.12.1 創建Web服務項目
WebServiceOracle-
UpdateDelete 750
9.12.2 修改連線字元串 751
9.12.3 修改名稱空間列表 751
9.12.4 修改Web方法SQLUpdateSP
及相關方法 751
9.12.5 修改Web方法GetSQLCourse
及相關方法 756
9.12.6 修改Web方法
GetSQLCourseDetail
及相關方法 757
9.12.7 修改Web方法
SQLDeleteSP 759
9.13 創建Web服務客戶端項目
以使用Web服務 764
9.14 本章小結 765