內容簡介
本書分三大部分,第一部分為Delphi編程篇,主要介紹使用Delphi開發資料庫系統必須掌握的技術,這些技術最大限度地與實際項目案例相結合。第二部分為SQL Server套用篇,主要介紹SQL Server資料庫安裝、管理、開發及維護的相關技術。第三部分為實例開發篇,精選了當前套用最廣泛的資料庫管理系統,內容包括定製自己的工作環境、物流配送管理系統、倉庫管理系統、銷售管理系統、工資管理系統、人事管理系統、客戶管理系統、固定資產管理系統和財務憑證管理系統。這些系統即可以獨立使用,也可作為企業綜合管理系統的重要組成部分。
本書附有配套光碟。光碟提供了書中所有案例的全部原始碼,所有原始碼都經過精心調試,在Windows XP和Windows 2000下全部測試通過,保證能夠正常運行。
本書內容精練、重點突出、實例豐富,是各級程式開發人員必備的和不可多得的參考書,本書也非常適合大中專院校師生學習參考。
目錄
第1章 Delphi開發環境概述 3
1.1 Delphi概述 3
1.2 Delphi 7的集成開發環境 4
1.2.1 熟悉Delphi 7開發環境 4
1.2.2 常用選單 5
1.2.3 工具列 8
1.2.4組件面板 9
1.2.5 對象檢查器 12
1.2.6 代碼編輯器 13
1.2.7 代碼瀏覽器 15
1.2.8 對象樹狀視窗 15
1.2.9 項目管理器 16
1.3 應用程式的開發過程 17
1.3.1 製作一個簡單的應用程式 17
1.3.2 構成Delphi 7項目的主要檔案 21
1.3.3 構成Delphi 7項目的主要檔案說明 21
第2章 面向對象的應用程式設計 24
2.1 面向對象的程式設計 24
2.1.1 對象的引入 24
2.1.2 Delphi提供的對象 25
2.2 認識Delphi的窗體 26
2.3窗體對象的主要屬性 27
2.3.1 與窗體位置、大小有關的屬性 27
2.3.2 與窗體客戶區大小有關的屬性 28
2.3.3 與窗體顯示有關的屬性 28
2.3.4 與窗體透明有關的屬性 29
2.3.5 與窗體外觀有關的屬性 30
2.3.6 窗體的繪圖屬性 30
2.3.7 與窗體控制有關的屬性 31
2.3.8 與窗體約束有關的屬性 31
2.3.9 與窗體字型比例調整有關的屬性 32
2.4 窗體的操作方法 32
2.4.1 窗體對象的創建與釋放 32
2.4.2 窗體對象的顯示與隱藏 33
2.4.3 窗體對象的焦點設定 33
2.4.4 對象控制的操作方法 34
2.5 窗體的事件處理 34
2.5.1 窗體激活時產生的相關事件 34
2.5.2 窗體關閉時產生的相關事件 35
2.5.3 滑鼠相關事件處理 36
2.5.4 鍵盤相關事件處理 37
2.5.5 拖動相關事件處理 38
2.6 應用程式窗體組成 39
2.7 套用軟體開發流程 45
第3章 用戶圖形界面設計 47
3.1 可視化用戶界面設計 47
3.1.1 界面設計基礎 47
3.1.2 人機互動界面設計48
3.1.3 人機互動界面舉例 48
3.2 控制項概述 50
3.2.1 控制項分類 50
3.2.2 控制項命名約定 50
3.2.3 控制項的通用屬性 51
3.2.4 控制項的通用方法與事件 51
3.2.5 關於Tab鍵次序 52
3.2.6 關於焦點 52
3.3 使用控制項數組 53
3.3.1 為何使用控制項數組 53
3.3.2 定義控制項數組 53
3.3.3 控制項數組套用實例 53
3.4 調整控制項布局 54
3.4.1 統一控制項尺寸 54
3.4.2 調整水平和垂直間距 55
3.4.3 鎖定控制項布局 57
3.5標籤控件 57
3.5.1 主要屬性設定 57
3.5.2 標籤控制項的實例套用 58
3.6 文本類控制項 58
3.6.1 引入文本類控制項 58
3.6.2 文本類控制項屬性設定 58
3.6.3 文本類控制項實例套用 59
3.7 按鈕類控制項 59
3.7.1 按鈕類控制項的主要套用 59
3.7.2 按鈕類控制項屬性設定 59
3.7.3 按鈕類控制項套用 62
3.8 選擇類控制項 62
3.8.1 複選框與單選按鈕 62
3.8.2 列表框控制項套用 64
3.8.3 組合框控制項套用 65
3.9 時鐘控制項 66
3.9.1 時鐘控制項主要屬性、事件 66
3.9.2 時鐘控制項在用戶界面中的套用 66
3.10 框架控制項 67
3.10.1 框架控制項在用戶界面中的套用 67
3.10.2 框架控制項主要屬性、方法 67
3.10.3 框架控制項實例套用 67
3.11 修飾類控制項 68
3.11.1 主要修飾類控制項 68
3.11.2 使用修飾類控制項美化用戶界面 69
第4章 選單欄、工具列和對話框 70
4.1 選單欄設計 70
4.1.1 創建選單與選單項 70
4.1.2 在選單中添加分隔線 71
4.1.3 設計級聯選單 71
4.1.4 設計單選選單 71
4.1.5 設計複選選單 72
4.1.6 為選單添加圖示 72
4.1.7 選單命令的回響 74
4.1.8 動態管理選單 74
4.1.9 設計彈出式選單 74
4.2 設計工具列 75
4.2.1 TToolBar組件與TToolButton組件 75
4.2.2 設定按鈕樣式 76
4.2.3 為工具列設定回響代碼 77
4.2.4 為工具列設定提示信息 77
4.3 通用對話框 78
4.3.1 通用對話框的引入 78
4.3.2 打開對話框和保存對話框 78
4.3.3 顏色對話框和字型對話框 81
4.3.4 列印對話框和替換對話框 82
第5章 資料庫開發技術 86
5.1 BDE資料庫程式開發技術 86
5.1.1 BDE Administrator 86
5.1.2 使用BDE連線SQL Server資料庫 86
5.1.3 TTable組件 89
5.1.4 TQuery組件 90
5.1.5 TDatabase組件 92
5.2 ADO資料庫程式開發技術 93
5.2.1 ADO技術簡介 93
5.2.2 TADOConnection組件 93
5.2.3 TADOCommand組件 96
5.2.4 TADOTable組件 97
5.2.5 TADOQuery組件 98
第6章 訪問與編輯數據 101
6.1 運算元據庫 101
6.1.1 創建資料庫與數據表 101
6.1.2 修改數據表結構 103
6.1.3 刪除表 104
6.2 編輯數據 105
6.2.1 添加記錄 105
6.2.2 修改記錄 109
6.2.3 刪除記錄 111
6.3 數據查詢與統計 113
6.3.1 數據查找 113
6.3.2 數據查詢 116
6.3.3 數據排序 117
6.3.4 數據過濾 118
6.3.5 數據統計 119
第7章 資料庫用戶界面設計 122
7.1 數據控制組件介紹 122
7.2 TDBEdit組件介紹 122
7.3 TDBNavigator組件介紹 124
7.4 TDBImage組件介紹 125
7.5 TDBListBox組件介紹 127
7.6 TDBComboBox組件介紹 128
7.7 TDBLookupListBox組件介紹 129
7.8 TDBRadioGroup組件介紹 131
7.9 TDBGrid組件介紹 132
7.10 TDBCtrlGrid組件介紹 134
第8章 報表與列印程式設計 137
8.1 利用Rave組件設計報表 137
8.1.1 常用Rave組件介紹 137
8.1.2 使用Rave組件設計報表 138
8.1.3 使用代碼創建報表 142
8.2 特色報表設計 143
8.2.1 設計頁眉和頁腳 143
8.2.2 設計帶表格的報表 144
8.2.3 列印分欄文本 145
8.3 使用Rave組件設計報表實例套用 146
8.3.1 設計主從式報表 146
8.3.2 設計匯款單式報表 147
8.3.3 設計分組式報表 148
8.3.4 設計隨查詢結果自動更新的報表 149
8.4 利用嚮導創建報表 152
8.4.1 創建簡單報表 152
8.4.2 調整報表的外觀 154
8.4.3 改變長度單位 155
8.5 使用QuickReport組件設計報表 155
8.5.1 圖案報表設計 155
8.5.2 設計連續列印報表 156
8.6 數據報表套用總結 158
8.6.1 設計報表版面 158
8.6.2 報表設計過程 158
8.6.3 報表設計要點 158
第9章 調試程式與預錯處理 159
9.1 錯誤的種類 159
9.2 錯誤捕獲 159
9.2.1 錯誤捕捉 159
9.2.2 觸發錯誤 160
9.2.3 編制錯誤處理程式 160
9.3 代碼調試 161
9.3.1 跟蹤程式的執行 161
9.3.2Call stack視窗 162
9.3.3 Watch List視窗 163
9.3.4 Debug Inspector視窗 165
9.3.5 Evaluate/Modify視窗 166
第二篇 SQL Server套用篇
第10章 管理SQL Server 2000 171
10.1 安裝SQL Server 171
10.2 配置伺服器 174
10.2.1 啟動、暫停和停止SQL Server伺服器 174
10.2.2 註冊SQL Server 2000伺服器 175
10.2.3 編輯SQL Server 2000註冊信息 179
10.3腳本概述179
10.3.1 將資料庫生成腳本 179
10.3.2 將指定表生成腳本 181
10.3.3 執行腳本 181
10.4 備份和還原資料庫 182
10.4.1 備份和恢復的概念 182
10.4.2 資料庫備份 182
10.4.3 資料庫還原 184
10.5 分離和附加資料庫 184
10.5.1 分離資料庫 184
10.5.2 附加資料庫 185
10.6 導入、導出數據表 186
10.6.1 導入資料庫 186
10.6.2 導入SQL Server數據表 186
10.6.3 導入其他數據源的數據表 188
10.6.4 導出資料庫 191
10.6.5 導出SQL Server數據表 191
第11章 設計SQL Server資料庫 193
11.1 分析資料庫 193
11.1.1 分析資料庫結構 193
11.1.2 設計資料庫草稿 194
11.2 設計資料庫 195
11.2.1 創建資料庫 195
11.2.2 添加數據表 197
11.2.3 選擇數據類型 199
11.2.4 刪除數據表 200
11.3 建立索引 201
11.3.1 建立惟一索引 201
11.3.2 定義主鍵索引 203
11.3.3 刪除索引 203
11.4 修改資料庫 204
11.4.1 為數據表更名 204
11.4.2 在表結構中添加新欄位 205
11.4.3 在表結構中刪除欄位 205
11.4.4 改變表結構欄位的大小 207
11.4.5 修改表結構中的欄位順序 207
11.5 關係的建立與維護 207
11.5.1 建立一對一關係207
11.5.2 建立一對多關係210
11.5.3 關係更名 211
11.5.4 刪除關係 212
11.6 設計視圖 212
11.6.1 創建視圖 212
11.6.2 修改視圖 215
11.6.3 刪除視圖 215
第12章 編輯SQL Server資料庫 217
12.1 錄入和修改數據 217
12.1.1 添加新記錄 217
12.1.2 記錄修改 218
12.1.3 刪除記錄 218
12.2 瀏覽數據 219
12.3 查找數據 220
12.3.1 查找指定行記錄 220
12.3.2 查找第一條記錄 220
12.3.3 查找最後一條記錄 221
12.3.4 查找下一條記錄 222
12.3.5 查找前一條記錄 222
第13章 SQL語句 224
13.1 創建查詢和測試查詢 224
13.1.1 編寫SQL語句 224
13.1.2 測試SQL語句 225
13.1.3 執行SQL語句 225
13.2 選擇查詢 225
13.2.1 簡單的Select查詢 225
13.2.2 選擇查詢欄位 225
13.2.3 利用Where參數過濾數據 226
13.2.4 對查詢結果進行排序 226
13.2.5 將查詢結果分組統計 227
13.2.6 模糊查詢 230
13.2.7 在查詢語句中進行計算 231
13.2.8 為欄位起一個別名 232
13.3 使用聚合函式進行查詢 232
13.3.1 數據匯總查詢 232
13.3.2 數據平均值查詢 233
13.3.3 數據總記錄數查詢 234
13.3.4 數據最小值查詢 235
13.3.5 數據最大值查詢 235
13.4 複雜查詢 235
13.4.1 子查詢 235
13.4.2 連線 236
13.4.3 內連線 236
13.4.4 外連線 237
13.4.5 交叉連線 239
13.5 數據添加 239
13.5.1 Insert語句介紹 239
13.5.2 Insert語句基本套用 240
13.6 數據修改 240
13.6.1 Update語句介紹 240
13.6.2 Update語句基本套用 240
13.7 數據刪除 241
13.7.1DELETE語句介紹 241
13.7.2 Delete語句基本套用 241
第14章 存儲過程、觸發器與視圖 242
14.1 存儲過程概述 242
14.2 存儲過程的套用 242
14.2.1 新建存儲過程 242
14.2.2 修改存儲過程 243
14.2.3 刪除存儲過程 244
14.2.4 獲取資料庫中的存儲過程 244
14.2.5 獲取指定存儲過程語句 244
14.2.6 存儲過程的調用 245
14.3 觸發器介紹 246
14.4 使用觸發器 246
14.4.1 新建觸發器 246
14.4.2 修改觸發器 247
14.4.3 刪除觸發器 248
14.5 視圖介紹 248
14.6 視圖套用 248
14.6.1 新建視圖 248
14.6.2 修改視圖 249
14.6.3 刪除視圖 249
14.6.4 獲得資料庫中所有的視圖 250
14.6.5 獲得指定視圖語句 250
第三篇 實例開發篇
第15章 定製自己的工作環境 253
15.1 代碼編輯器常規選項設定 253
15.2 代碼編輯器源檔案選項設定 255
15.3 代碼編輯器顯示狀態設定 261
15.4 語法著色 262
15.5 代碼智慧型選項設定 264
15.6 環境選項參數設定 265
15.7 窗體和組件設定 267
15.8 個性化開發環境設定 268
第16章 Delphi 7在物流配送中的套用 271
16.1 物流配送管理系統概述 271
16.1.1 開發背景 271
16.1.2 運行環境 271
16.2 系統調查 271
16.2.1 手工流程 271
16.2.2 需求分析 272
16.3 系統分析 272
16.3.1 系統功能 272
16.3.2 業務流程 273
16.4 資料庫設計 273
16.4.1 資料庫概念設計 273
16.4.2 資料庫邏輯結構設計273
16.5 處理過程分析 277
16.5.1 配送審核處理過程分析 277
16.5.2 配送開票處理過程分析 277
16.6 主程式設計 278
16.6.1 實現目標 278
16.6.2 建立主窗體 279
16.6.3 程式相關代碼 280
16.7 數據模組設計 281
16.8 程式設計與編碼 282
16.8.1 配送申請管理設計 282
16.8.2 配送審核管理設計 288
16.8.3 配送開票管理設計 291
16.8.4 配送查詢管理設計 296
16.8.5 系統登錄程式設計 298
16.9 疑難問題分析解決 300
16.9.1 如何在TImageList中存儲大圖示 300
16.9.2 如何實現動態查詢 301
16.9.3 如何去除重複行 301
16.9.4 動態創建窗體 302
16.9.5 如何實現配送開票查詢 303
16.9.6 如何將表格中某些列設定為唯讀 304
16.10 程式調試及錯誤處理 305
16.10.1 程式調試 305
16.10.2 異常處理 307
16.11 程式設計清單 308
16.12 技術、經驗總結 308
16.12.1 技術總結 308
16.12.2 經驗總結 309
16.13 程式的打包與發行 309
第17章 Delphi 7在倉庫中的套用 312
17.1 倉庫管理系統概述 312
17.1.1 倉庫管理系統簡介 312
17.1.2 系統功能描述 312
17.2 系統調查 313
17.3 需求分析 313
17.4 系統設計 314
17.4.1系統流程圖314
17.4.2 業務流程 315
17.5 資料庫設計 315
17.5.1 資料庫概念設計 315
17.5.2 資料庫邏輯結構設計 315
17.5.3 數據字典 317
17.6 處理過程分析 317
17.6.1 商品入庫處理過程分析 317
17.6.2 商品出庫處理過程分析 318
17.7 主窗體設計 318
17.8 數據模組設計 319
17.9 程式設計與編碼 319
17.9.1 商品入庫管理設計 319
17.9.2 商品出庫管理設計 326
17.9.3 商品庫存查詢設計 328
17.10 疑難問題分析解決 329
17.10.1 使用TADODataSet組件時應該注意的問題 329
17.10.2 雙擊DBGrid表格,如何顯示當條數據詳細信息 330
17.10.3 如何判斷資料庫中是否有相同欄位的數據 331
17.10.4 判斷進價、批發價、零售價是否輸入合法 332
17.11 程式測試常見錯誤解決 332
17.12 程式設計清單 335
17.13 技術、經驗總結 336
17.13.1 技術總結 336
17.13.2 經驗總結 336
第18章 Delphi在銷售中的套用 337
18.1 銷售管理系統概述 337
18.1.1 開發背景 337
18.1.2 銷售管理系統簡介 337
18.1.3 系統功能描述 337
18.2 系統分析 338
18.2.1 系統規劃 338
18.2.2 系統流程圖 339
18.2.3 業務流程 339
18.3 資料庫設計 339
18.3.1 資料庫概念設計 339
18.3.2 資料庫邏輯結構設計 340
18.4 主窗體設計 341
18.5 狀態欄設計 342
18.6 數據模組設計 343
18.7 銷售報表設計 343
18.8 程式設計與編碼 346
18.8.1 商品銷售管理設計 346
18.8.2 銷售退貨管理設計 352
18.8.3 客戶訂貨管理設計 355
18.8.4 銷售查詢管理設計 358
18.9 疑難問題分析解決 360
18.9.1 如何防止單擊TBitBtn按鈕時關閉模式窗體 360
18.9.2 使用非數據控制組件顯示和瀏覽數據 361
18.9.3 在編輯框中只允許輸入數字 361
18.9.4 按Enter鍵控制焦點的移動 361
18.9.5 在銷售商品時,實現訂單銷售 362
18.9.6 如何實現超期應收款查詢 362
18.10 程式設計清單 362
18.11 技術、經驗總結 363
18.11.1 技術總結 363
18.11.2 經驗總結 364
18.12 系統的編譯與發行 364
第19章 Delphi在工資中的套用 365
19.1 工資管理系統概述 365
19.1.1 系統任務 365
19.1.2 設計目標 365
19.2 需求分析 365
19.2.1 業務調查 365
19.2.2 系統規劃 366
19.3 資料庫設計 366
19.3.1 資料庫概念設計 366
19.3.2 資料庫邏輯結構設計 367
19.3.3 數據字典 368
19.4 處理過程分析 369
19.4.1 工資發放處理過程分析 369
19.4.2 工資調整處理過程分析 369
19.5 主窗體設計 369
19.6 選單設計 370
19.7 數據模組設計 371
19.8 窗體模板設計 371
19.9 程式設計與編碼 372
19.9.1 員工基本工資管理設計 372
19.9.2 員工浮動工資管理設計 377
19.9.3 工資發放管理設計 379
19.9.4 員工工資調整管理設計 382
19.10 疑難問題分析解決 386
19.10.1 使用TRVSystem組件編寫報表 386
19.10.2 如何控制表格中焦點的移動 387
19.10.3 編寫簡潔、靈活的代碼 387
19.10.4 如何限制表格中某列的輸入 388
19.10.5 員工工資核算 388
19.10.6 查詢上月餘額 389
19.11 軟體測試 389
19.12 程式設計清單 390
19.13 技術、經驗總結 390
19.13.1 創建視圖 390
19.13.2 經驗總結 392
第20章 Delphi在人事中的套用 393
20.1 人事管理系統概述 393
20.1.1 開發背景及意義 393
20.1.2 系統目標 393
20.2 系統分析 393
20.2.1 系統規劃 393
20.2.2 系統流程圖 395
20.3 資料庫設計 395
20.3.1 資料庫概念設計 395
20.3.2 資料庫邏輯結構設計 395
20.4 處理過程分析 396
20.4.1 人員檔案處理過程分析 396
20.4.2 人員調動處理過程分析 397
20.5 主窗體設計 397
20.6 數據模組設計 398
20.7 程式設計與編碼 398
20.7.1 員工信息管理設計 398
20.7.2 添加人員檔案程式設計 399
20.7.3 修改人員檔案程式設計 402
20.7.4 刪除人員檔案管理設計 407
20.7.5 員工調動管理設計 408
20.8 疑難問題分析解決 410
20.8.1 如何將數據表中的欄位值添加到下拉列表框中 410
20.8.2 如何防止用戶改變下拉列表框中的當前數據 412
20.8.3 隱藏窗體的標題欄 413
20.8.4 保存的實現方法探究 413
20.8.5 圖片的切換 414
20.8.6 控制按鈕是否可用 414
20.9 程式調試與錯誤處理 415
20.10 程式設計清單 416
20.11 技術、經驗總結 417
20.11.1 技術總結 417
20.11.2 經驗總結 418
20.12 程式的編譯與發行 418
第21章 Delphi在客戶中的套用 419
21.1 客戶管理系統概述 419
21.1.1 客戶管理系統簡介 419
21.1.2 系統功能描述 419
21.2 系統分析 419
21.2.1 系統規劃 419
21.2.2 系統流程圖 421
21.2.3 業務流程 421
21.3 資料庫設計 421
21.3.1 資料庫概念設計 422
21.3.2 資料庫邏輯結構設計 422
21.4 處理過程分析 423
21.4.1 客戶基礎信息處理過程分析 423
21.4.2 客戶信息呼叫處理過程分析 424
21.5 主窗體設計 424
21.6 選單設計 426
21.7 工具列設計 427
21.8 數據模組設計 428
21.9 程式設計與編碼 429
21.9.1 客戶區域管理程式設計 429
21.9.2 客戶級別管理程式設計 434
21.9.3 客戶基礎信息管理程式設計 437
21.9.4 客戶信息呼叫管理程式設計 443
21.9.5 客戶反饋查詢管理程式設計 448
21.10 疑難問題分析解決 451
21.10.1 如何將TDBGrid中的內容居中顯示 451
21.10.2 如何更改滑鼠指針形狀 452
21.10.3 如何在控制項失去焦點時進行內容檢查 452
21.10.4 如何防止向數據表中插入重複數據 452
21.10.5 在表格中輸入商品數量,如何自動計算金額 453
21.10.6 利用掩碼編輯控制項格式化字元串 453
21.11 程式調試及錯誤處理 454
21.12 程式設計清單 457
21.13 技術、經驗總結 457
21.13.1 技術總結 457
21.13.2 經驗總結 458
第22章 Delphi在固定資產中的套用 459
22.1 固定資產管理系統概述 459
22.1.1 開發背景及意義 459
22.1.2 系統目標 459
22.2 系統分析 460
22.2.1 系統規劃 460
22.2.2 系統流程圖 460
22.2.3 業務流程 461
22.3 資料庫設計 461
22.3.1 資料庫概念設計 461
22.3.2 資料庫邏輯結構設計 461
22.3.3 數據字典 462
22.4 處理過程分析 463
22.4.1 添加固定資產處理過程分析 463
22.4.2 計提折舊處理過程分析 463
22.5 主窗體設計 463
22.6 圖像列表設計 464
22.7 數據模組設計 465
22.8 程式設計與編碼 466
22.8.1 資產類別程式設計 466
22.8.2 添加固定資產程式設計 467
22.8.3 修改固定資產程式設計 471
22.8.4 計提折舊程式設計 474
22.8.5 數據備份程式設計 478
22.8.6 系統初始化程式設計 479
22.9 疑難問題分析解決 480
22.9.1 如何創建存儲過程 480
22.9.2 數據還原的實現 481
22.9.3 查看SQL Server的備份檔案 481
22.9.4 利用循環語句清空界面數據 482
22.9.5 固定資產基本概念 482
22.9.6 固定資產計算公式 483
22.10 程式測試 483
22.11 程式設計清單 484
22.12 技術、經驗總結 485
22.12.1 技術總結 485
22.12.2 經驗總結 486
22.13 系統的編譯與發行 486
第23章 Delphi在財務憑證管理系統中的套用 487