《Visual Basic 2005資料庫專家編程》是2006年10月30日清華大學出版社出版的圖書,作者是沈曉春。
基本介紹
- 書名:Visual Basic 2005資料庫專家編程
- 作者:沈曉春
- ISBN:9787302137573
- 定價:68
- 出版社:清華大學出版社
- 出版時間:2006年10月30日
- 裝幀:平裝
內容簡介,目錄,
內容簡介
本書由微軟資料庫開發專家、知名圖書大師Roger Jennings編寫,面向有經驗的Visual Basic程式設計師。本書包含豐富的Visual Basic 2005數據開發技巧和經驗,內容涉及到ADO.NET 2.0、SQL Server 2005、ASP.NET 2.0數據處理技術等,可幫助讀者大大提升利用Visual Basic 2005和SQL Server 2005開發資料庫應用程式的能力。
您還在猶豫是否移植到Visual Studio 2005嗎?您也許已經做好了升級到Visual Studio 2005的準備,但對ADO.NET以及此新版本的Visual Studio Tools心存疑慮。本書介紹Visual Studio 2005以及SQL Server或SQLServer Express 2005的*實踐、*功能以及高級數據管理技術,同時還介紹從簡單到中等複雜程度的項目示例,這些示例是包含Windows和Web窗體的真實資料庫前端應用程式。
本書首先介紹ADO.NET 2.0的基礎知識,然後介紹如何以類型化DataSet為數據源來設計、編寫智慧型客戶端,並介紹DataSource、GridView和DetailsView Web控制項的使用。最後,介紹如何使用新T-SQL擴展、Web服務以及通知。
您還在猶豫是否移植到Visual Studio 2005嗎?您也許已經做好了升級到Visual Studio 2005的準備,但對ADO.NET以及此新版本的Visual Studio Tools心存疑慮。本書介紹Visual Studio 2005以及SQL Server或SQLServer Express 2005的*實踐、*功能以及高級數據管理技術,同時還介紹從簡單到中等複雜程度的項目示例,這些示例是包含Windows和Web窗體的真實資料庫前端應用程式。
本書首先介紹ADO.NET 2.0的基礎知識,然後介紹如何以類型化DataSet為數據源來設計、編寫智慧型客戶端,並介紹DataSource、GridView和DetailsView Web控制項的使用。最後,介紹如何使用新T-SQL擴展、Web服務以及通知。
目錄
第I部分 ADO.NET 2.0
基礎知識
第1章 從ADO向ADO.NET移植
1.1 數據訪問的新方式
1.1.1 System.Data命名空間
1.1.2 ADO.NET數據提供者
1.2 ADO.NET的基本數據對象
1.2.1 用SqlClient創建基本ADO.NET數據對象
1.2.2 對多表更新套用事務
1.2.3 使用OleDb、SqlXml和Odbc成員類
1.2.4 使用類型化DataReader數據和SqlResultSet數據
1.3 ADO.NET的類型化DataSet對象
1.3.1 通過SQL Server數據源添加類型化DataSet
1.3.2 添加DataGridView和BindingNavigator控制項
1.3.3 持久化和重新打開DataSet
1.3.4 將DataViewGrid更改為Details窗體
1.3.5 添加相關的DataBound控制項
1.4 小結
第2章 ADO.NET 2.0新功能介紹
2.1 使用新的ADO.NET 2.0運行時Windows窗體對象
2.1.1 用DbProviderFactories創建資料庫不明確的項目
2.1.2 檢索基表架構
2.1.3 校驗有效的SQL Server實例和ADO.NET 2.0數據提供者
2.1.4 利用SqlBilkCopy對象對SQL Server表進行批量插入
2.1.5 SQL Server連線統計信息
2.1.6 異步執行SqlCommands
2.1.7 創建單獨的DataTable
2.1.8 用Nullable類型支持DBNull值
2.2 使用ADO.NET 2.0的新持久性Windows窗體對象
2.2.1 ADO.NET 1.x與2.0的數據設計器比較
2.2.2 向工具箱添加沒顯示的ADO.NET控制項
2.2.3 將1.x項目升級為ADO.NET 2.0組件
2.2.4 添加多級子窗體
2.2.5 參數化MasterDetailsForm
2.2.6 批量多次更新
2.3 用ReportViewer控制項設計和顯示報表
2.4 小結
基礎知識
第1章 從ADO向ADO.NET移植
1.1 數據訪問的新方式
1.1.1 System.Data命名空間
1.1.2 ADO.NET數據提供者
1.2 ADO.NET的基本數據對象
1.2.1 用SqlClient創建基本ADO.NET數據對象
1.2.2 對多表更新套用事務
1.2.3 使用OleDb、SqlXml和Odbc成員類
1.2.4 使用類型化DataReader數據和SqlResultSet數據
1.3 ADO.NET的類型化DataSet對象
1.3.1 通過SQL Server數據源添加類型化DataSet
1.3.2 添加DataGridView和BindingNavigator控制項
1.3.3 持久化和重新打開DataSet
1.3.4 將DataViewGrid更改為Details窗體
1.3.5 添加相關的DataBound控制項
1.4 小結
第2章 ADO.NET 2.0新功能介紹
2.1 使用新的ADO.NET 2.0運行時Windows窗體對象
2.1.1 用DbProviderFactories創建資料庫不明確的項目
2.1.2 檢索基表架構
2.1.3 校驗有效的SQL Server實例和ADO.NET 2.0數據提供者
2.1.4 利用SqlBilkCopy對象對SQL Server表進行批量插入
2.1.5 SQL Server連線統計信息
2.1.6 異步執行SqlCommands
2.1.7 創建單獨的DataTable
2.1.8 用Nullable類型支持DBNull值
2.2 使用ADO.NET 2.0的新持久性Windows窗體對象
2.2.1 ADO.NET 1.x與2.0的數據設計器比較
2.2.2 向工具箱添加沒顯示的ADO.NET控制項
2.2.3 將1.x項目升級為ADO.NET 2.0組件
2.2.4 添加多級子窗體
2.2.5 參數化MasterDetailsForm
2.2.6 批量多次更新
2.3 用ReportViewer控制項設計和顯示報表
2.4 小結
第3章對以數據為中心的項目採用最佳實踐 77
3.1建立體系結構的最佳實踐 78
3.2為項目確定模式 80
3.2.1使用Microsoft.NET的企業解決方案模式 81
3.2.2數據模式 81
3.2.3分散式系統模式 82
3.2.4集成模式 82
3.3應用程式塊庫 83
3.3.1數據訪問應用程式塊 84
3.3.2DataAccessQuickStart客戶端 88
3.4遵循設計指南 90
3.4.1.NET數據訪問體系結構指南 90
3.4.2提高.NET應用程式的性能和可伸縮性 91
3.4.3設計數據層組件並在層間傳遞數據 91
3.5類庫設計指南 96
3.5.1命名指南 96
3.5.2類成員使用指南 97
3.6面向服務的架構 98
3.6.1面向服務的架構 98
3.6.2用Web服務實現SOA 99
3.6.3保證完全互操作的Web服務 100
3.7用FxCop驗證項目代碼 104
3.8自動完成測試驅動的開發 106
3.8.1向VS2005解決方案添加單元測試項目 106
3.8.2編輯和運行嚮導生成的測試 108
3.9運行SQLServer2000最佳實踐分析器 109
3.10對ADO.NET2.0項目採用特殊最佳實踐 111
3.10.1對存儲池資料庫連線採用相同連線字元串 111
3.10.2運行SQLServer分析器來檢驗SQL和RPC查詢 112
3.10.3避免添加運行時CommandBuilder實例 113
3.10.4用存儲過程代替SQL批量查詢 114
3.10.5為不需要的參數添加默認值 114
3.10.6利用sp_executesql和命名參數重新使用快取的查詢計畫 114
3.10.7向開放式並發控制項添加timestamp列 115
3.10.8在並發測試中檢驗所有關聯記錄 118
3.10.9通過批量更新減少伺服器往返行程 118
3.10.10利用客戶端驗證避免SqlExceptions 118
3.11小結 119
第II部分Windows窗體和控制項中的數據綁定
第4章對TableAdapters、BindingSources和DataGridView編程 123
4.1設計基本的客戶-訂單-訂單詳細窗體 123
4.1.1利用參數化查詢減小DataSet的尺寸 124
4.1.2創建數據源並添加控制項 125
4.1.3為各數據表添加FillBy方法 126
4.1.4更改自動生成的代碼來滿足控制項的要求 128
4.1.5用CustomerID值填充組合框 129
4.1.6清除UI和代碼 130
4.2格式化並添加DataGridView列 131
4.2.1設定OrdersDataGridView列的格式 131
4.2.2格式化Order_DetailsDataGridView並添加計算列 132
4.3為新記錄提供默認值 134
4.3.1添加默認的訂單記錄值 134
4.3.2添加默認的詳細記錄值 135
4.4處理DataErrors事件 136
4.5流線型Heads-down數據輸入 137
4.6將UI移植到選項卡式窗體上 139
4.6.1測試OrdersByCustomersV3項目 140
4.6.2用代碼添加行時修改丟失的默認值 141
4.6.3在第二個選項卡頁面編輯選擇的DataGridView記錄 142
4.7為主鍵值創建和綁定查詢列表 143
4.7.1創建非類型化查詢DataSet及其DataTables 144
4.7.2填充cboCustomerID組合框 146
4.7.3用組合框代替DataGridView文本框 146
4.7.4為組合框與文本框建立關聯 149
4.8添加設定附加值的組合框 151
4.8.1創建和綁定根據ProductName排序的DataView 151
4.8.2測試複製性並更新UnitPrice列 152
4.9為新客戶輸入添加查詢表行 155
4.9.1添加和綁定CustomerIDBindingSource 155
4.9.2用DataRowView測試重複性 156
4.10對編輯套用業務規則 157
4.11將更改保存到基表 159
4.11.1維護引用的完整性 159
4.11.2創建並測試UpdateBaseTables函式 160
4.12小結 168
第5章添加數據驗證和並發管理 171
5.1驗證數據輸入 173
5.1.1驗證文本框 173
5.1.2驗證DataGridViews 174
5.1.3發現輸入中的主鍵約束衝突 176
5.1.4驗證默認值 177
5.2管理並發衝突 178
5.2.1ADO.NET2.0並發控制和事務變更 179
5.2.2並發控制戰略 181
5.2.3並發管理的“連結丟失” 181
5.2.4預測基於值的主鍵約束衝突 189
5.3合理處理並發錯誤 191
5.3.1從伺服器上獲取當前數據 192
5.3.2檢索並比較伺服器和客戶端單元值 194
5.4容納非連線用戶 198
5.4.1創建和管理脫機DataSet 198
5.4.2處理多個父記錄 200
5.5小結 201
第6章高級DataSet技術套用 203
6.1對DataSet更新套用事務 203
6.2對DataTable選擇命令添加聯接 211
6.2.1向SelectCommand添加聯接 211
6.2.2向DataGridView添加聯接的列 213
6.2.3提供默認值並更新唯讀列 213
6.3通過減少DataSet的尺寸來提高性能 215
6.3.1由TOPn查詢返回的限制行 216
6.3.2為TableAdapters添加部分類 216
6.4在DataGridViews中使用圖像 217
6.4.1向DataGridViews添加圖像列 218
6.4.2填充DataGridView圖像 219
6.5用DataSet和DataGridViews編輯XML文檔 222
6.5.1利用已有的XML架構生成DataSet 223
6.5.2推斷一個XML架構來生成DataSet 236
6.5.3通過XML數據源創建編輯窗體 237
6.6通過架構生成可序列化類 241
6.6.1用可序列化類創建數據源 243
6.6.2用泛型BindingList集合提高編輯功能 245
6.7小結 248
第III部分ASP.NET2.0中的數據綁定
第7章ASP.NET2.0的DataSources 和綁定控制項 251
7.1ASP.NET2.0的新功能 252
7.1.1ASP.NET2.0的編譯模型 255
7.1.2ASP.NET2.0的特殊資料夾 257
7.1.3ASP.NET2.0的新數據控制項 257
7.2DataSource控制項 258
7.3DataList控制項 259
7.3.1用於綁定控制項的SqlDataSources控制項 260
7.3.2控制項屬性 264
7.3.3數據綁定模板與數據格式化 265
7.3.4綁定控制項值的DataSourceWHERE約束 267
7.3.5編輯DataLists中的項 270
7.4FormView控制項 272
7.4.1對DataSource分頁 272
7.4.2用列專用的文本代替空值 273
7.4.3編輯、添加和刪除記錄 274
7.4.4添加Command按鈕 275
7.5GridView控制項 277
7.5.1將BoundField轉換為EditItemTemplate欄位 278
7.5.2用DropDownList代替TextBoxes,以進行編輯 280
7.5.3用ImageField設計GridView 281
7.5.4縮放圖像渲染 284
7.6DetailsView控制項 285
7.6.1使子表GridView與DetailsView同步 286
7.6.2使複合主鍵值可編輯 286
7.6.3賦默認值並處理更新和插入錯誤 287
7.7小結 289
第8章高級ASP.NET2.0數據技術套用 291
8.1在數據綁定控制項中驗證輸入 291
8.1.1ASP.NET2.0驗證控制項 292
8.1.2新增的ValidationGroup屬性 293
8.1.3共享的其他驗證屬性 293
8.2驗證GridView編輯 294
8.2.1向GridView控制項添加所需要的欄位驗證 295
8.2.5用CompareValidator防止不合理的輸入 299
8.2.6添加CustomValidator控制項 299
8.2.7提供驗證概述訊息 302
8.3驗證DetailsView控制項 303
8.3.1在Web伺服器上驗證ProductID編輯 303
8.3.2在客戶端測試重複的ProductID值 304
8.4用ObjectDataSources代替SqlDataSources 305
8.4.1DataTables的ObjectDataSources控制項 306
8.4.2來自類型化DataSetDALC的ObjectDataSources 313
8.4.3自定義業務對象的ObjectDataSources 315
8.5用XmlDataSource讀XML檔案 322
8.5.1通過XML文檔創建XmlDataSources 322
8.5.2用Orders.xml填充GridView控制項 324
8.5.3用XmlDataSource設計Repeater控制項 325
8.5.4用表格式數據填充TreeView 327
8.6跟蹤Web頁面來比較DataSource控制項的性能 329
8.7向IIS部署建立的Web站點 330
8.7.1為自己的站點創建虛擬目錄 331
8.7.2將Web站點複製到虛擬目錄資料夾 331
8.7.3發布預編譯Web站點 333
8.8小結 334
第9章發布數據驅動的Web服務 335
9.1Web服務開發戰略 336
9.1.1事務 336
9.1.2DataSet控制項 336
9.1.3自定義業務對象 337
9.1.4多個WebMethod和版本登記 337
9.1.5Web服務的安全性 338
9.2ASP.NET2.0Web服務編程 339
9.2.1WebService幫助頁面與WSDL文檔 340
9.2.2Web服務部署 345
9.2.3Web服務客戶端和代理 345
9.3創建並部署簡單數據Web服務 350
9.3.1Web服務連線字元串 350
9.3.2添加通用過程來返回類型化DataSet 352
9.3.3添加WebMethod來定義並返回DataSet 354
9.4向Web服務客戶端添加DataGridViews 355
9.5更新Web服務DataSet 357
9.6用自定義業務對象代替DataSet 359
9.6.1業務對象Web服務 359
9.6.2向DataGridViews綁定對象數組 365
9.6.3創建ASP.NET業務對象Web服務客戶端 371
9.7小結 372
第IV部分SQLServer2005和ADO.NET2.0
第10章從SQLServer2000升級到2005 375
10.1SQLServer2005的版本 375
10.1.1ExpressEdition 376
10.1.2DeveloperEdition 377
10.1.3WorkgroupEdition 377
10.1.4StandardEdition 378
10.1.5EnterpriseEdition 378
10.1.6MobileEdition 378
10.2SQLServer2005新功能簡介 378
10.2.1新的或升級的管理工具 379
10.2.2報表服務 383
10.2.3CLR集成 384
10.2.4xml數據類型和Xquery實現 384
10.2.5SQLServer2005的Xquery語法、SQL本地客戶端 385
10.2.6多活動結果集(MARS) 386
10.2.7數據有效性和可靠性的增強 387
10.2.8T-SQL和資料庫引擎的增強 387
10.2.9服務代理 395
10.2.10通知服務 399
10.2.11查詢通知 400
10.2.12資料庫郵件 400
10.2.13SQLServer本地SOAPWeb服務 401
10.3自定義FORXML查詢 403
10.3.2採用FORXMLPATH架構的微調文檔結構 406
10.4分析PIVOT和UNPIVOT操作符 411
10.4.1創建源表 412
10.4.2使用PIVOT操作符 412
10.4.3用公共表表達式代替源表 414
10.4.4非數據透視交叉表報表 415
10.5處理查詢通知 416
10.5.1添加SqlDependency通知 417
10.5.2創建SqlNotificationRequest對象和訂閱 420
10.5.3用資料庫郵件自動進行重排序處理 423
10.6消耗SQLServer本地Web服務 425
10.7小結 427
第11章創建SQLServer項目 429
11.1SQLServer項目簡介 429
11.1.1實現CLR集成的命令 430
11.1.2用於SQLServer項目的屬性修飾 430
11.1.3VisualStudio2005SQLServer項目模板 430
11.2SqlServerProjectCLR示例項目 431
11.2.1用於SQLServer對象的代碼 432
11.2.2測試腳本 437
11.2.3創建程式集指令 438
11.2.4創建ObjectType指令 439
11.2.5拋棄SQL/CLR對象 442
11.2.6調試SQLServer項目 442
11.3設計SQL/CLR存儲過程 444
11.3.1返回依賴於內容的SqlDataRecords 444
11.3.2用XmlWriter生成XML文檔 447
11.3.3對項目產品銷售進行線性回歸分析 456
11.4創建自定義類型 463
11.4.1用於結構和類的Native格式的UDT代碼 464
11.4.2自定義格式的UDT類代碼 467
11.4.3簡單值類型UDT 468
11.5對表添加UDT列 471
11.5.1利用UDT列顯示錶行 472
11.5.2用SqlDataReader返回UDT值 473
11.6使用複雜的自定義格式的UDT 474
11.6.1AddressBasicUDT 475
11.6.2驗證地址UDT的方法 478
11.6.3用WHERE約束和ORDERBY子句測試地址UDT 479
11.6.4利用UDT查詢從其他欄位或表訪問數據 480
11.6.5用XmlTextWriter生成格式規範的XML 481
11.7小結 483
第12章分析xml數據類型 485
12.1選擇合理的xml數據模型 486
12.1.1非類型化xml列 487
12.1.2類型化xml列 490
12.1.3索引式xml列 494
12.2探究AdventureWorks的xml列 497
12.3執行XQuery表達式 499
12.3.1用於xml列的XQuery方法 500
12.3.2FLWORXQuery表達式 506
12.3.3通過代碼執行XQuery表達式 511
12.4數據模型選擇對性能的影響 512
12.4.3評估對UPDATE進行XML索引的效果 517
12.4.4分析XQuery性能的改進 518
12.5小結 527