C#開發實戰1200例(第II卷)

C#開發實戰1200例(第II卷)

《C#開發實戰1200例(第II卷)》是2011年6月清華大學出版社出版的圖書,作者是明日科技、 王小科 、王軍。

內容簡介

本書以開發人員在項目開發中經常遇到的問題和必須掌握的技術為中心,介紹了套用C#進行程式開發各個方面的知識和技巧,主要包括滑鼠與鍵盤控制、Windows系統開發、資料庫及LINQ開發、水晶報表與列印、註冊表操作、軟體安全控制等。全書分6篇21章,總計600個實例和600條經驗技巧。每個實例都是作者精心篩選的,具有很強的實用性,其中一些實例是開發人員難於尋覓的解決方案。

本書附帶有配套DVD光碟,光碟中提供有書中全部實例的原始碼,這些原始碼都是經過作者精心調試通過的,保證能夠在Windows XP、Windows 2003及Windows 7作業系統下編譯和運行。

本書非常適合C#項目開發人員、C#初學者及編程愛好者使用,同時也可作為培訓機構、大中專院校老師和學生的實踐參考用書。

前言

前 言

特別說明:

《C#開發實戰1200例》包括第I卷、第II卷總計1200個例子,本書是第II卷,包含600個例子。

程式開發是一項艱辛的工作,它不僅考驗開發人員的智力,更考驗開發人員的體力。縱觀國內的軟體企業,內部開發團隊挑燈夜戰,連續幾個月加班加點工作是常有的事情。筆者曾“有幸”參加過十幾個項目的開發工作,對編程有深刻的體會。編程是一項複雜的創造性工作,它需要開發人員掌握各方面的知識和積累豐富的開發經驗。項目開發中的一個問題可能會占用團隊幾天甚至十幾天的時間,但是如果開發人員遇到過類似的問題,也許幾分鐘就可以解決。這就是編程經驗的重要性,也是許多軟體企業用人時選擇有項目開發經驗者的主要原因。

本書筆者精選了項目開發中的600個實例,涵蓋了滑鼠與鍵盤控制、Windows系統開發、資料庫及LINQ開發、水晶報表與列印、註冊表操作、軟體安全控制等方面的內容,每一個知識點都提供了豐富的、具有很強實用性的實例,以幫助開發人員快速解決疑難問題。

本書內容

本書分為6篇21章,總計600個實例。書中所選實例均來源於一線開發人員的實際項目開發,囊括了開發中經常使用和需要解決的熱點、難點問題,參考本書,讀者可以快速解決開發中的難題,提高編程效率。本書亮點內容導航如下圖所示。

為了方便讀者學習和使用本書,書中在講解實例時採用統一的編排樣式,每個實例由“實例說明”、“關鍵技術”、“設計過程”和“秘笈心法”4部分構成,如下圖所示。

其中,“實例說明”部分採用圖文結合的方式介紹實例的功能和運行效果;“關鍵技術”部分介紹了實例使用的重點、難點技術;“設計過程”部分講解了實例的詳細開發過程;“秘笈心法”部分給出了與實例相關的技巧和經驗總結。

本書特色

* 實例豐富,經驗超值

本書精選了600個實例和600條經驗技巧,涵蓋了編程中多個方面的各種套用。用戶開發中所需的技術、技巧、解決方案幾乎都可以找到。

* 特點突出,功能完善,實用性強

書中所選實例均是項目開發中經常需要使用或實現的技術,有許多實例是開發人員夢寐以求的。

* 視頻錄像,全面介紹實例開發全過程

在每一章實例中作者選擇重點和難點實例進行全程視頻講解,以幫助讀者理解這些實例的開發過程。

* 贈送所有實例源碼

書中所有實例均提供有原始碼,用戶在開發中可以快速借鑑或套用。

* 段落工整、簡潔,圖文結合,更容易學習

* 編碼規範,注釋詳盡

為了提高用戶的實際開發能力,書中代碼都是經過嚴格審查的,可以與商業源碼相媲美,並且為了方便用戶閱讀代碼,幾乎所有代碼都提供有詳細注釋。

超值DVD光碟

為了幫助讀者學習和使用書中的實例,本書附贈有DVD光碟,其中不僅提供了書中所有實例項目的原始碼、素材,還提供了關鍵實例的開發視頻講解。光碟目錄如下圖所示。

本書約定

* 實例使用方法

用戶在學習本書的過程中,可以從光碟中複製實例,去掉實例的唯讀屬性。有些實例需要使用相應的資料庫或第三方資源,這些實例在使用前需要進行相應配置,詳細使用方式可參考本書光碟使用說明書。此外,如果用戶直接將本書實例用於商業用途,由此產生的不良後果由用戶自己承擔。

* 實例及錄像位置

書中實例在光碟中的存儲格式為“MR\章號\實例序號”。例如,“MR\04\090”表示實例090,位於第4章。

書中關鍵實例在光碟中提供了開發錄像,錄像的存儲格式與實例的存儲格式是相同的。例如,查看實例090的開發錄像,可以在光碟中“MR\04\090”路徑下找到,錄像名稱與實例名稱相同,格式為EXE格式。

* 錄像使用說明

本書贈送的實例錄像採用EXE檔案格式,無須使用播放器,雙擊就可以直接播放。在主目錄中,目錄前有錄像圖示的實例,表示在光碟中存在視頻錄像。

* 部分實例只給出關鍵代碼

由於篇幅限制,書中有些實例只給出了關鍵代碼,完整代碼可參考光碟實例程式。

讀者人群

本書非常適合以下人員閱讀:

* 從事C#編程行業的開發人員

* 有一定語言基礎,想進一步提高技能的人員

* 大中專院校的老師和學生

* 即將走上工作崗位的大學畢業生

* 相關培訓機構的老師和學員

* C#編程愛好者

本書作者

本書由明日科技組織編寫,參加編寫的程式設計師有王小科、王軍、趙會東、董大永、尹強、李繼業、張磊、賽奎春、高春艷、宋坤、劉銳寧、梁水、李偉明、劉彬彬、安劍、孫秀梅、鞏建華、房大偉、呂雙、劉雲峰、王國輝、李鍾尉、張振坤、陳丹丹、盧翰、白偉明、潘凱華、劉欣、李慧、梁曉嵐、楊麗、顧麗麗、劉齡齡、王樂樂、陳英、李賀、朱曉、楊明、肖鑫、李鑫等。由於筆者水平有限,疏漏和不足之處在所難免,懇請廣大讀者朋友批評指正。

特別提醒:

親愛的讀者朋友,由於近期紙張價格和印製成本大幅上漲,為不增加讀者朋友的負擔,又不減少書的內容,本書的最後幾章內容不得不放在配書光碟中(參見目錄),由此給您帶來了不便,在此深表歉意。

編 者

圖書目錄

第1篇 滑鼠與鍵盤控制篇

第1章 滑鼠操作控制 2

1.1 獲取滑鼠信息 3

實例001 獲取滑鼠雙擊時間間隔 3

實例002 獲取游標閃爍的頻率 4

實例003 獲取滑鼠鍵數 4

實例004 顯示滑鼠的等待游標 5

實例005 獲得滑鼠在窗體上的位置 6

實例006 記錄滑鼠行為 7

?實例007 通過截取系統訊息判斷滑鼠的單擊鍵 8

1.2 滑鼠基本設定 10

實例008 定義滑鼠指針形狀 10

實例009 自定義滑鼠的圖片 11

實例010 自定義動畫滑鼠 12

實例011 交換滑鼠左右鍵功能 14

實例012 限制滑鼠在某一區域工作 15

實例013 禁止滑鼠按鍵 16

?實例014 滑鼠設定器 21

1.3 滑鼠操作在實際中的套用 24

實例015 隱藏和顯示滑鼠 24

實例016 滑鼠雙擊窗體時模擬鍵盤Tab鍵操作 25

實例017 使用滑鼠拖放複製文本 26

實例018 利用滑鼠繪圖 27

實例019 模擬滑鼠操作 28

?實例020 實現滑鼠穿透窗體 30

第2章 鍵盤操作控制 32

2.1 獲取鍵盤信息 33

實例021 獲取組合鍵 33

實例022 獲取功能鍵 34

實例023 判斷NumLock鍵和CapsLock鍵

是否鎖定 34

實例024 將回車鍵轉換為Tab鍵 36

2.2 鍵盤熱鍵的設定 37

實例025 禁止Alt+F4組合鍵關閉窗體 37

實例026 實現按下Esc鍵關閉窗體 38

實例027 禁止系統的Ctrl+C/X/V組合鍵 39

實例028 避免按回車鍵產生“嘀”聲 40

?實例029 設定/禁止系統熱鍵 41

2.3 鍵盤操作在實際中的套用 48

實例030 打開和關閉輸入法編輯器 48

?實例031 使用鍵盤控制窗體的移動 49

?實例032 虛擬鍵盤操作 51

實例033 多功能鍵盤 60

第2篇 Windows系統開發篇

第3章 獲取系統相關信息 66

3.1 獲取計算機系統信息 67

實例034 獲取系統時間 67

實例035 獲取系統目錄 68

實例036 獲取計算機名稱 68

實例037 獲取當前程式運行目錄 69

實例038 獲得作業系統版本號 70

實例039 獲取系統啟動後經過的時間 71

?實例040 獲取系統列尺寸 72

實例041 改變系統提示信息 73

實例042 獲取系統環境變數 74

3.2 獲取計算機硬體信息 76

實例043 獲取計算機記憶體信息 76

實例044 獲取CPU相關信息 78

實例045 獲取主機板相關信息 79

實例046 獲得硬碟序列號 80

實例047 獲取所有邏輯分區 81

實例048 獲取磁碟空間 82

?實例049 獲得磁碟的檔案系統類型 83

實例050 判斷驅動器類型並獲取其屬性 84

實例051 獲取顯示設備的名稱及PNPDeviceID 86

實例052 獲取聲音設備的名稱及PNPDeviceID 87

實例053 獲取螢幕的解析度 88

實例054 獲取系統已經安裝的印表機信息 89

3.3 獲取系統網路信息 90

實例055 得到本地機器的IP位址 90

實例056 檢測計算機是否存在網路連線 92

實例057 判斷計算機的在線上狀態 92

3.4 獲取特殊資料夾路徑 94

?實例058 獲取系統特殊資料夾路徑 94

實例059 得到本地運行的EXE的路徑 96

實例060 獲取映射驅動器路徑 97

3.5 獲取Windows當前用戶信息 97

實例061 獲取當前用戶 97

實例062 判斷當前用戶是哪種用戶 98

3.6 獲取Windows日誌信息 100

實例063 獲取系統日誌信息 100

實例064 獲取安全日誌信息 102

實例065 獲取應用程式日誌信息 103

實例066 創建並寫入自定義日誌信息 104

實例067 向系統日誌寫入自定義數據 105

實例068 向應用程式日誌寫入自定義信息 106

第4章 系統控制套用 107

4.1 啟動相關 108

實例069 進入Windows前發出警告 108

實例070 將計算機設定為休眠狀態 109

實例071 禁止用戶關閉計算機 110

實例072 實現註銷、關閉和重啟計算機 111

實例073 定時關閉計算機 114

實例074 遠程關閉與重啟計算機 117

4.2 磁碟相關設定 120

實例075 取消磁碟共享 120

實例076 檢測磁碟是否準備好 121

?實例077 圖表顯示磁碟容量 122

實例078 修改磁碟格式 124

實例079 格式化磁碟 125

4.3 系統設定 126

實例080 禁止使用Windows任務管理器 126

實例081 為檔案新增右鍵選單項 127

實例082 修改計算機的默認印表機 128

實例083 通過註冊表設定桌面背景 129

實例084 利用API設定桌面背景 130

實例085 音樂風景桌面 132

實例086 設定系統系統列時間 135

實例087 設定螢幕解析度 137

實例088 修改計算機名稱 138

實例089 顯示器控制 139

?實例090 螢幕放大鏡 141

4.4 系統隱藏 143

實例091 隱藏、顯示系統列 143

實例092 隱藏、顯示開始按鈕 145

實例093 使桌面圖示文字透明 146

實例094 檢索系統中正在運行的任務 147

實例095 隱藏、顯示桌面圖示 148

4.5 系統控制 150

實例096 切換輸入法 150

實例097 全形半角轉換 151

實例098 製作系統掛機鎖 154

實例099 開機啟動項管理 158

實例100 啟動Windows系統服務 159

實例101 執行命令行命令 161

4.6 系統監控 162

實例102 檢測系統啟動模式 162

實例103 監視剪貼簿的內容 163

實例104 記憶體使用狀態監控 164

實例105 鍵盤鉤子禁止熱鍵 165

?實例106 CPU使用率 167

第5章 程式控制套用 170

5.1 程式控制 171

實例107 打開控制臺中的程式 171

?實例108 動態系統托盤圖示 172

實例109 控制程式不出現在系統列上 174

實例110 啟動螢幕保護 175

實例111 使用回車鍵控制滑鼠焦點 176

實例112 在TextBox控制項中禁用滑鼠右鍵 177

實例113 製作螢幕截圖程式 178

實例114 複製程式本身 180

實例115 分段顯示電話號碼顏色 181

5.2 程式運行 182

實例116 使用互斥量禁止程式運行多次 182

實例117 使用進程名禁止程式運行多次 183

實例118 清空資源回收筒 185

5.3 計算機控制 186

實例119 設定系統僅能運行的程式 186

?實例120 獲取本地計算機上所有的進程 187

實例121 獲取遠程計算機上所有的進程 189

實例122 調用外部的EXE檔案 190

實例123 關閉外部已開啟的程式 191

?實例124 進程管理器 192

實例125 實現行業軟體系統註銷功能 195

實例126 創建應用程式捷徑 195

實例127 使PC喇叭發音 197

第3篇 資料庫及LINQ開發篇

第6章 SQL查詢相關技術 200

6.1 SELECT子句 201

實例128 查詢特定列數據 201

實例129 使用列別名 202

實例130 在列上加入計算 204

實例131 使用函式設定條件 205

6.2 查詢常量 206

實例132 查詢數字 206

實例133 查詢字元串 207

實例134 查詢日期數據 208

實例135 查詢邏輯型數據 210

實例136 查詢空(‘’或NULL)數據 211

6.3 查詢變數 212

實例137 利用變數查詢字元串數據 212

實例138 利用變數查詢數值型數據 214

實例139 利用變數查詢日期型數據 215

6.4 模糊查詢 217

實例140 利用“_”通配符進行查詢 217

實例141 利用“%”通配符進行查詢 218

實例142 利用“[]”通配符進行查詢 219

實例143 利用“[^]”通配符進行查詢 221

實例144 複雜的模糊查詢 222

6.5 TOP和PERCENT限制查詢結果 224

實例145 查詢前10名數據 224

實例146 取出數據統計結果的後10名數據 225

?實例147 查詢第10到第20名的數據 226

實例148 查詢銷售量占前50%的圖書信息 228

實例149 查詢庫存數量占後20%的圖書信息 229

6.6 數值查詢 231

實例150 判斷是否為數值 231

實例151 在查詢時對數值進行取整 232

實例152 將查詢到的數值四捨五入 233

實例153 使用三角函式計算數值 234

實例154 求數值的絕對值 235

實例155 根據生成的隨機數查詢記錄 236

實例156 根據查詢數值的符號顯示具體文本 238

6.7 字元串查詢 239

實例157 實現字元串的大小寫轉換 239

實例158 返回字元在字元串中出現的次數 240

實例159 返回字元串中的子串 241

實例160 刪除字元串中的子串 243

實例161 查找並替換字元串 244

實例162 比較兩個字元串 246

6.8 周期、日期查詢 248

實例163 判斷是否為日期 248

實例164 查詢指定日期的數據 249

?實例165 查詢指定時間段的數據 250

實例166 按年、月或日查詢數據 251

實例167 返回當前日期時間及其對應的星期 253

實例168 查詢指定時間間隔的數據 254

6.9 比較、邏輯、重複查詢 255

實例169 利用運算符查詢指定條件的數據 255

實例170 NOT與謂詞進行組合條件的查詢 257

實例171 查詢時不顯示重複記錄 258

實例172 列出數據中的重複記錄和記錄條數 259

6.10 在查詢中使用OR和AND運算符 260

實例173 利用OR運算符進行查詢 260

實例174 利用AND運算符進行查詢 261

實例175 同時利用OR、AND運算符進行查詢 262

6.11 排序、分組統計 263

實例176 數據分組統計(單列) 263

實例177 在分組查詢中使用ALL關鍵字 265

實例178 在分組查詢中使用CUBE運算符 266

實例179 在分組查詢中使用ROLLUP 267

實例180 對數據進行降序查詢 268

實例181 對數據進行多條件排序 269

實例182 對統計結果進行排序 270

實例183 按姓氏筆畫排序 272

?實例184 按姓氏拼音排序 273

實例185 按倉庫分組統計圖書庫存(多列) 274

實例186 多表分組統計 275

實例187 使用COMPUTE 276

實例188 使用COMPUTE BY 278

6.12 聚合函式 279

實例189 利用聚合函式SUM對銷售額進行匯總 279

實例190 利用聚合函式AVG求某班學生的

平均年齡 280

實例191 利用聚合函式MIN求銷售額、利潤

最少的商品 281

實例192 利用聚合函式MAX求月銷售額

完成最多的員工 283

實例193 利用聚合函式COUNT求日銷售額

大於某值的商品數 284

?實例194 利用聚合函式FIRST或LAST求數據表

中第一條或最後一條記錄 286

實例195 利用聚合函式顯示資料庫中重複記錄的

數量 287

實例196 查詢大於平均值的所有數據 288

實例197 獲取無重複或者不為空的記錄數 290

實例198 隨機查詢求和 291

實例199 統計某個值出現的次數 292

6.13 多表查詢(連線查詢) 293

實例200 利用FROM子句進行多表查詢 293

實例201 使用表別名 295

實例202 合併多個結果集 296

實例203 笛卡兒乘積查詢 297

6.14 嵌套查詢 298

實例204 簡單嵌套查詢 298

實例205 複雜嵌套查詢 299

實例206 嵌套查詢在查詢統計中的套用 301

6.15 子查詢 302

實例207 用子查詢做派生的表 302

實例208 用子查詢作表達式 304

實例209 使用ALL謂詞引入子查詢 305

實例210 使用ANY/SOME謂詞引入子查詢 307

實例211 使用EXISTS運算符引入子查詢 308

實例212 在HAVING子句中使用子查詢

過濾數據 310

實例213 在UPDATE語句中套用子查詢 311

實例214 使用子查詢刪除數據 312

6.16 組合語句 314

實例215 使用組合查詢 314

實例216 多表組合查詢 316

實例217 對組合查詢後的結果進行排序 317

實例218 獲取組合查詢中兩個結果集的交集 319

實例219 獲取組合查詢中兩個結果集的差集 320

6.17 內連線查詢 321

實例220 簡單內連線查詢 321

實例221 複雜內連線查詢 322

實例222 使用INNER JOIN實現自身連線 324

實例223 使用INNER JOIN實現等值連線 325

實例224 使用INNER JOIN實現不等連線 326

實例225 使用內連線選擇一個表與另一個表中

行相關的所有行 327

6.18 外連線查詢 329

實例226 LEFT OUTER JOIN查詢 329

實例227 RIGHT OUTER JOIN查詢 330

實例228 使用外連線進行多表聯合查詢 331

6.19 利用IN進行查詢 333

實例229 用IN查詢表中的記錄信息 333

實例230 使用IN引入子查詢限定查詢範圍 334

實例231 使用NOT IN運算符引入子查詢 335

6.20 交叉表查詢 336

實例232 利用Transform分析數據(Access) 336

實例233 利用Transform動態分析數據

(Access) 338

實例234 靜態交叉表(SQL Server 2005) 340

?實例235 動態交叉表(SQL Server 2005) 342

6.21 函式查詢 343

實例236 在查詢語句中使用格式化函式 343

實例237 在查詢語句中使用字元串函式 344

實例238 在查詢中使用日期函式 346

6.22 索引查詢 347

實例239 使用UNIQUE關鍵字創建唯一索引 347

實例240 使用CLUSTERED關鍵字創建聚簇

索引 348

實例241 使用索引視圖查詢數據 350

實例242 刪除索引 352

6.23 套用存儲過程 353

實例243 使用存儲過程查詢多表中的數據 353

實例244 使用存儲過程向表中添加數據 355

實例245 使用存儲過程刪除表中的數據 358

6.24 HAVING語句套用 361

實例246 利用HAVING子句過濾分組數據 361

實例247 HAVING子句套用在多表查詢中 362

第7章 SQL高級套用 364

7.1 SQL中的流程控制語句 365

實例248 使用BEGIN…END語句控制批處理 365

實例249 使用IF語句指定執行條件 366

實例250 使用IF EXISTS語句檢測數據是否

存在 367

實例251 使用WHILE語句執行循環語句塊 368

實例252 使用CASE語句執行分支判斷 369

實例253 使用RETURN語句執行返回 371

實例254 使用WAITOF語句延期執行語句 372

實例255 使用GOTO語句實現跳轉 373

實例256 使用TRY CATCH語句進行異常處理 375

實例257 使用PRINT語句進行列印 376

實例258 使用RAISERROR語句返回錯誤信息 377

實例259 使用SET語句進行選項設定 378

7.2 視圖的套用 379

實例260 在C#中套用視圖 379

實例261 獲取資料庫中的全部用戶視圖 380

?實例262 通過視圖修改數據 380

實例263 通過視圖過濾數據 382

實例264 使用視圖格式化檢索到的數據 383

實例265 對視圖定義文本進行加密 384

實例266 使用視圖生成計算列 385

7.3 存儲過程的套用 387

實例267 C#中套用存儲過程 387

?實例268 套用存儲過程添加數據 388

實例269 套用存儲過程修改數據 390

實例270 套用存儲過程刪除數據 391

實例271 獲取資料庫中全部的存儲過程 392

實例272 在存儲過程中使用return定義返回值 394

實例273 執行帶回傳參數的存儲過程 395

實例274 重命名存儲過程 396

實例275 在存儲過程中使用事務 397

實例276 加密存儲過程 399

實例277 查看存儲過程的相關信息 400

7.4 觸發器的套用 401

實例278 獲取資料庫中的觸發器 401

實例279 使用Insert觸發器向薪水錶中添加

薪水信息 402

實例280 Update觸發器在系統日誌中的套用 404

實例281 使用Delete觸發器刪除員工薪水信息 405

實例282 觸發器的嵌套使用 406

使用283 使用遞歸觸發器實現每次刪除一條

記錄功能 408

實例284 使用觸發器刪除相關聯的兩表間的數據 409

7.5 事務的使用 411

實例285 使用事務同時提交多個數據表 411

實例286 使用隱式事務實現多表提交數據 413

?實例287 使用事務批量刪除生產單信息 414

實例288 在事務中的表級鎖定 417

實例289 實現事務的並發控制 420

實例290 創建分散式事務 422

7.6 游標的套用 423

實例291 創建一個標準、唯讀和更新游標 423

使用292 利用sp_cursor_list查看游標屬性 425

實例293 利用sp_describe_cursor查看游標

全局特性 426

實例294 利用游標在商品銷售表中返回指定行

數據 428

實例295 使用ORDER BY子句改變游標中

行的順序 429

實例296 使用游標定位刪除指定員工信息 431

實例297 使用參數化游標更改員工部門信息 432

實例298 使用嵌套游標查詢兩個員工表間的

員工信息 433

7.7 SQL Server與XML互操作 435

實例299 使用FOR XML RAW參數讀取所有

圖書信息 435

實例300 將存儲在XML中的圖書信息插入

數據表中 436

實例301 將圖書銷售表中的欄位作為節點元素

輸出 437

實例302 查詢存儲圖書信息的XML節點 439

實例303 獲取XML節點或者元素值 440

實例304 編輯存儲圖書信息的XML節點 441

實例305 將XML節點轉換為相應的數據表

欄位 444

第8章 ADO。NET開發技術 446

8.1 連線Access資料庫 447

實例306 連線Access資料庫 447

實例307 連線加密的Access資料庫 448

實例308 自動識別Access 2000資料庫路徑 449

實例309 連線網路上共享的Access 2000資料庫 450

實例310 將Access資料庫導入Excel檔案中 452

8.2 連線SQL Server資料庫 453

實例311 使用ODBC DSN連線SQL Server

資料庫 453

實例312 使用ODBC非DSN連線SQL Server

資料庫 455

實例313 使用OLE DB連線SQL Server資料庫 457

實例314 建立SQL Server資料庫連線 458

8.3 連線其他資料庫 459

實例315 連線Excel 459

實例316 連線文本檔案 460

8.4 資料庫結構的讀取與修改 462

?實例317 讀取SQL Server資料庫結構 462

實例318 修改SQL Server資料庫結構 464

8.5 數據錄入 466

實例319 利用數據綁定控制項錄入數據 466

實例320 使用ADO。NET對象錄入數據 467

實例321 利用SQL語句錄入數據 469

實例322 利用存儲過程錄入數據 470

?實例323 向SQL Server資料庫中批量寫入

海量數據 472

8.6 圖片存取技術 473

實例324 使用存取檔案名稱的方法存取圖片 473

實例325 使用二進制存取用戶頭像 475

8.7 數據修改 476

實例326 利用數據綁定控制項修改數據 476

實例327 利用數據對象修改數據 478

實例328 利用SQL語句修改數據 479

實例329 利用存儲過程修改數據 480

實例330 使用斷開式連線批量更新資料庫中

數據 482

8.8 數據保存前判斷 483

實例331 判斷是否重複輸入數據 483

實例332 判斷輸入數據是否符合要求 485

8.9 數據刪除 487

實例333 刪除表格中指定的記錄 487

實例334 利用SQL語句刪除數據 488

實例335 利用SQL語句清空數據表 489

8.10 數據記錄 490

?實例336 分頁顯示信息 490

實例337 移動記錄 491

實例338 綜合查詢職工詳細信息 492

8.11 數據維護 495

實例339 在C#中創建資料庫 495

實例340 在C#中刪除資料庫 497

實例341 在C#中創建數據表 498

實例342 在C#中刪除數據表 499

實例343 在C#中分離SQL Server資料庫 500

實例344 在C#中附加SQL Server資料庫 502

實例345 在C#中附加單檔案SQL Server

資料庫 503

8.12 數據備份恢復 504

實例346 備份SQL Server資料庫 504

實例347 還原SQL Server資料庫 506

8.13 其他資料庫開發技術 509

實例348 判斷計算機中是否安裝了SQL軟體 509

實例349 開啟SQL Server資料庫 510

實例350 斷開SQL Server資料庫與其他套用

程式的連線 511

實例351 利用SQL語句執行外圍命令 512

實例352 對軟體進行初始化 513

實例353 帶圖像列表的系統登錄程式 515

第9章 LINQ to Objects——查詢記憶體中

對象 517

9.1 LINQ基礎套用 518

實例354 使用隱式類型局部變數實現字母的

大小寫轉換 518

實例355 使用自動實現屬性記錄用戶信息 519

實例356 使用對象初始化器創建對象並為其

屬性賦值 520

實例357 使用Lambda表達式查找指定字元串 521

實例358 使用擴展方法顯示員工信息 522

?實例359 線上程中使用匿名方法防止窗體

“假死” 524

實例360 使用Predicate委託查找年齡大於30

的員工 525

實例361 使用Action委託實現遍歷所有員工

信息 526

實例362 使用Func委託實現計算所有員工

工資總和 527

9.2 限定符操作 528

實例363 檢查序列中所有元素是否都滿足

指定條件 528

實例364 檢查序列中是否包含指定元素 529

9.3 元素操作 531

實例365 獲取指定位置的元素 531

實例366 使用LINQ生成隨機序列 532

實例367 使用LINQ初始化數組 533

實例368 使用LINQ在一個循環中遍歷多個

數組 534

實例369 篩選指定類型的元素 535

實例370 使用LINQ實現銷售單查詢 536

?實例371 獲取某類商品最後一次銷售單價 538

9.4 使用LINQ操作字元串 539

實例372 使用LINQ生成字元串 539

實例373 查找字元串中包含的大寫字母 540

實例374 查找字元串中包含的數字字元 541

實例375 過濾文章中包含指定單詞的句子 542

實例376 統計每個單詞在文章中出現的次數 543

實例377 查找文章中以ing結尾的單詞 544

實例378 將字元串數組按元素長度分組 547

9.5 類型轉換操作 548

實例379 將數據源轉換為IEnumerable<T>類型 548

實例380 將數據源轉換為IQueryable<T>類型 549

實例381 轉換為泛型列表 550

實例382 轉換為字典類型 551

實例383 轉換為一對多字典 552

實例384 使用LINQ轉換序列或集合 554

9.6 使用LINQ操作集合 556

實例385 操作泛型列表List<T> 556

實例386 操作泛型排序列表SortedList

<TKey,TValue> 557

實例387 操作泛型雙向鍊表LinkedList<T> 558

實例388 操作泛型佇列Queue<T> 559

實例389 操作泛型堆疊Stack<T> 561

實例390 操作泛型哈希集HashSet<T> 562

實例391 操作泛型字典Dictionary

<TKey,TValue> 563

實例392 操作泛型通用集合Collection<T> 565

實例393 操作泛型綁定列表BindingList<T> 566

9.7 使用LINQ技術操作對象 567

實例394 使用LINQ技術對對象進行篩選操作 567

實例395 使用LINQ技術對對象進行投影操作 568

實例396 使用LINQ技術對對象進行排序操作 570

實例397 使用LINQ技術對對象進行聚合操作 572

實例398 使用LINQ技術對對象進行集合操作 574

實例399 使用LINQ技術對對象進行元素操作 576

實例400 使用LINQ技術對對象進行聯接操作 577

?實例401 使用LINQ技術獲取檔案詳細信息 579

第10章 LINQ to SQL——查詢關係

資料庫 581

10.1 數據查詢 582

實例402 查詢單表數據 582

實例403 獲取與Not Exists等價的語句 585

實例404 按多個欄位降序排序數據表 586

?實例405 關聯查詢多表數據 587

實例406 按照多個條件分組 588

實例407 實現LINQ動態查詢的方法 589

10.2 聚合操作 591

實例408 Count操作——統計每種商品的

銷售次數 591

實例409 Sum操作——統計每種商品的

銷售總額 592

實例410 Max操作——統計每種商品的

最高銷售價 593

實例411 Min操作——統計每種商品的

最低銷售價 594

實例412 Average操作——統計每種商品的

銷售均價 595

實例413 Aggregate操作——統計月銷售額 596

10.3 集合操作 597

實例414 Distinct操作——去除重複的

返貨記錄 597

實例415 差集操作——獲取從未返過貨的

商品列表 598

實例416 交集操作——獲取有過返貨記錄的

商品列表 599

實例417 並集操作——查詢每種商品的

銷售總數 600

10.4 DataContext類的方法 601

實例418 檢測資料庫是否存在 601

實例419 直接執行SQL查詢 602

10.5 數據操作 603

實例420 生成LINQ to SQL對象模型 603

實例421 獲取資料庫連線信息 606

實例422 使用LINQ技術查詢SQL資料庫中

的數據 608

實例423 使用LINQ技術向SQL資料庫中

添加數據 610

?實例424 使用LINQ技術在SQL資料庫中

修改數據 611

實例425 使用LINQ技術在SQL資料庫中

刪除數據 612

實例426 使用存儲過程查詢單表數據 613

實例427 使用SQL Server中的函式過濾數據 615

實例428 根據外鍵獲取主表信息 616

實例429 使用LINQ為列表控制項提供數據 617

實例430 使用LINQ技術防止SQL注入式攻擊 618

?實例431 使用LINQ技術實現數據分頁 620

第11章 LINQ to DataSet——查詢

ADO。NET數據集 623

11.1 數據查詢 624

實例432 使用LINQ技術查詢DataSet中的

單個表 624

實例433 使用LINQ技術對DataSet進行

投影操作 625

?實例434 使用LINQ技術查詢DataSet中的

多個表 626

實例435 使用LINQ技術對DataSet進行

篩選操作 627

實例436 使用LINQ技術對DataSet進行

排序操作 628

11.2 數據分區操作 629

實例437 從頭開始提取指定數量的記錄 629

?實例438 從頭開始提取滿足指定條件的記錄 631

實例439 跳過序列中指定數量的記錄 632

實例440 跳過滿足指定條件的記錄 633

11.3 類型轉換操作 634

實例441 將查詢結果轉換為DataTable 634

實例442 將查詢結果轉換為DataView 635

11.4 其他操作 636

實例443 聚合操作——按客戶分組匯總

銷售金額 636

實例444 使用LINQ技術對DataSet進行

元素操作 637

實例445 使用LINQ技術查詢前5名數據 639

?實例446 使用LINQ技術對數據進行排序 640

實例447 使用LINQ技術統計員工的工資總額 641

第12章 LINQ to XML——操作XML檔案 643

12.1 XML檔案基本操作 644

?實例448 使用LINQ技術創建XML檔案 644

實例449 使用LINQ技術對XML檔案進行讀取 645

12.2 查詢操作 647

實例450 查找根元素 647

實例451 查找指定名稱的元素 648

實例452 查找指定屬性的元素 649

實例453 遍歷指定節點下的所有對象 650

實例454 只返回指定節點下的注釋 652

實例455 訪問指定節點的父節點 653

實例456 返回節點集合中每個節點的所有

上級節點 654

實例457 返回節點集合中每個節點的所有

下級節點 656

實例458 返回元素集合中每個元素的所有

屬性 657

12.3 元素操作 659

?實例459 使用LINQ技術向XML檔案中

添加數據 659

實例460 使用LINQ技術修改XML檔案中

的數據 660

實例461 替換指定節點下的所有元素 661

實例462 使用LINQ技術刪除XML檔案中的

數據 662

實例463 合計XML元素值 664

12.4 屬性操作 665

實例464 添加屬性到XML檔案 665

實例465 修改元素的屬性值 666

實例466 刪除一個元素的所有屬性 667

實例467 將XML檔案中的屬性轉換為元素 669

12.5 其他操作 670

實例468 添加注釋到XML檔案 670

實例469 添加聲明到XML檔案 671

實例470 添加文檔類型到XML檔案 672

實例471 使用LINQ to XML轉換XML 673

?實例472 讀取XML檔案並更新到資料庫 676

第4篇 水晶報表與列印篇

第13章 Windows列印組件的使用 680

13.1 列印基礎 681

實例473 列印窗體中的數據 681

實例474 圖像列印 683

?實例475 自定義橫向或縱向列印 684

實例476 自定義列印頁碼範圍 686

實例477 分頁列印 688

13.2 常用報表的列印 690

實例478 列印條形碼 690

實例479 列印學生個人簡歷 691

實例480 列印一個空學生證 693

實例481 列印商品入庫單據 695

實例482 批量列印學生證書 697

第14章 水晶報表設計技術 701

14.1 水晶報表基本設定 702

實例483 快速創建水晶報表 702

實例484 設計帶圖片的水晶報表 704

實例485 使圖片成為整個報表的背景 706

實例486 設定水晶報表中節的背景圖片 707

實例487 設定水晶報表中節的背景色 709

?實例488 在水晶報表中添加圖表 710

實例489 設定水晶報表的頁面 713

實例490 在水晶報表中添加節 714

實例491 在水晶報表中移動節的順序 715

實例492 在水晶報表中合併節 716

實例493 在水晶報表中刪除節 717

實例494 在水晶報表中顯示與隱藏節 718

實例495 設定多列樣式水晶報表 719

實例496 設定水晶報表中節的高度 721

實例497 設定水晶報表的摘要信息 722

實例498 設定水晶報表的列印日期與時間 723

14.2 水晶報表的格式化 724

實例499 在水晶報表中使用文本對象 724

?實例500 使用公式欄位 726

實例501 在水晶報表中使用線 728

實例502 在水晶報表中使用方框 729

14.3 對水晶報表進行排序與分組 730

實例503 排序水晶報表中的數據 730

實例504 對水晶報表中的數據進行分組 731

實例505 在水晶報表中篩選數據 732

?實例506 設計分組統計報表 734

實例507 對分組報表中的頁碼進行設定 735

第15章 水晶報表開發套用 737

15.1 水晶報表常用套用 738

實例508 利用報表專家設計並顯示學生

基本信息 738

實例509 動態綁定水晶報表 742

實例510 在水晶報表中使用Access資料庫 743

實例511 在水晶報表中使用SQL Server資料庫 745

實例512 高數成績大於90分使用紅色字型標記 746

?實例513 訂貨總金額超過10萬元顯示“恭喜

獲獎”文字 748

實例514 薪資大於或等於1萬元使用藍色

字型標記 750

實例515 篩選薪資大於2000元的男員工 752

實例516 按類別分組統計圖書庫存 754

實例517 按成績總分降序排序 755

實例518 部門銷售量占公司總銷售量的

業績百分比 757

實例519 在水晶報表中使用交叉表 758

15.2 子報表的使用 760

實例520 插入子報表 760

實例521 編輯與重新導入子報表 761

實例522 根據需要顯示子報表 763

實例523 刪除子報表 765

15.3 使用水晶報表設計常用報表 766

實例524 設計信封標籤報表 766

?實例525 設計商品入庫報表 767

實例526 設計學生個人簡歷報表 768

實例527 設計匯款單式報表 769

第5篇 註冊表操作篇

第16章 註冊表基本操作 772

16.1 註冊表基本操作 773

實例528 獲取註冊表信息 773

?實例529 向註冊表中寫入信息 774

實例530 修改註冊表信息 776

實例531 搜尋註冊表內容 777

實例532 刪除註冊表信息 778

實例533 備份註冊表 780

實例534 還原註冊表 781

實例535 禁止遠程修改註冊表 782

實例536 禁止運行註冊表 783

16.2 註冊表在實際中的套用 784

實例537 使用C#打開Windows註冊表 784

實例538 建立數據檔案與程式的關聯 785

?實例539 使應用程式開機自動運行 786

實例540 在註冊表中保存窗體的大小和位置 788

實例541 最佳化開關機速度 789

實例542 最佳化選單顯示速度 790

實例543 最佳化網上鄰居顯示速度 791

?實例544 獲取本機安裝的軟體清單 792

第17章 系統個性化設定 793

17.1 開始選單設定 794

實例545 啟用和禁用“開始”選單中的

“運行”功能 794

實例546 禁止和開啟“開始”選單中的

“關機”功能 795

實例547 在右鍵選單中添加“用記事本

打開”項 796

17.2 個性桌面 797

?實例548 隱藏桌面捷徑圖示的小箭頭 797

實例549 禁用和啟用主題選項卡 798

實例550 禁用和啟用外觀選項卡 799

實例551 禁用和啟用螢幕保護選項卡 800

?實例552 設定系統列時間樣式 801

實例553 刪除“我的電腦”上下文選單中的

“屬性” 802

17.3 系統設定 803

實例554 將磁碟驅動器隱藏 803

實例555 禁止顯示系統列的右鍵選單 804

實例556 禁止對系統列位置進行改變 806

?實例557 禁止使用Windows任務管理器 807

實例558 禁止使用控制臺的添加刪除程式 808

實例559 禁止使用命令提示符 809

實例560 關機時自動關閉停止回響的程式 810

第18章 IE瀏覽器設定 811

18.1 IE瀏覽器基本設定 812

實例561 隱藏桌面上的IE瀏覽器圖示 812

實例562 禁止修改IE瀏覽器主頁 814

?實例563 設定IE瀏覽器的默認主頁 815

實例564 修改IE瀏覽器標題欄內容 816

實例565 設定IE地址欄的自動完成功能 817

18.2 IE瀏覽器高級套用 818

?實例566 向收藏夾中添加網址 818

實例567 清除IE地址欄中的歷史網址 819

實例568 設定IE瀏覽器的默認下載路徑 821

實例569 清空IE瀏覽器的快取區 822

?實例570 使用WebBrowser控制項製作IE

瀏覽器 823

特別提醒:

親愛的讀者朋友,由於近期紙張價格和印製成本大幅上漲,為不增加讀者朋友的負擔,又不減少書的內容,本書以下章節內容不得不放在配書光碟中,由此給您帶來了不便,在此深表歉意。

第6篇 軟體安全控制篇

第19章 加密與解密技術 828

(本章內容在配書光碟中)

19.1 數據的加密與解密 829

實例571 異或算法對數字進行加密與解密 829

?實例572 使用MD5算法加密數據 830

實例573 使用ROT13算法加密解密數據 831

實例574 使用愷撒密碼算法加密密碼 833

?實例575 對數據報進行加密保障通信安全 834

實例576 使用one-time pad算法加密數據 839

實例577 使用偽隨機數加密技術加密用戶

登錄密碼 840

實例578 以XML格式導入導出密鑰 842

實例579 以參數格式導入導出密鑰 844

19.2 檔案的加密與解密 846

實例580 文本檔案加密與解密 846

實例581 利用圖片加密檔案 849

實例582 對檔案進行加密保護 851

?實例583 使用口令加密執行檔 856

實例584 使用對稱算法加密解密檔案 860

第20章 資料庫安全技術 863

(本章內容在配書光碟中)

20.1 連線加密的資料庫 864

實例585 連線加密的Access資料庫 864

實例586 連線加密的Excel檔案 865

?實例587 訪問帶驗證模式的SQL Server資料庫 866

20.2 資料庫安全在實際中的套用 868

實例588 編程修復Access資料庫 868

實例589 Access資料庫備份與恢復 869

?實例590 加密資料庫中的數據 871

實例591 加密DataSet數據集 873

?實例592 防止SQL注入式攻擊 875

第21章 軟體安全控制 877

(本章內容在配書光碟中)

21.1 軟體的註冊 878

實例593 利用INI檔案對軟體進行註冊 878

?實例594 利用註冊表設計軟體註冊程式 880

實例595 利用網卡序列號設計軟體註冊程式 882

?實例596 根據CPU序列號和磁碟卷標製作

軟體註冊機 884

21.2 軟體的加密 886

實例597 製作一個EXE檔案加密器 886

?實例598 限制軟體的使用次數 890

實例599 使用強名稱標識軟體 892

實例600 軟體加殼常用工具及使用 893

熱門詞條

聯絡我們