本書通過一個(gè)完整的項(xiàng)目講解如何使用Visual Studio 2015(C#)開發(fā)基于數(shù)據(jù)庫(SQL Server)的Windows窗體應(yīng)用程序。本書主要內(nèi)容包括:主窗體界面設(shè)計(jì)、數(shù)據(jù)集、多種數(shù)據(jù)維護(hù)(錄入、修改、刪除)開發(fā)、統(tǒng)計(jì)查詢、RDLC報(bào)表設(shè)計(jì)、自定義控件開發(fā)(簡單控件、復(fù)合控件)、控件使用技巧(如DataGridView拖放技術(shù)、自定義繪制技術(shù))、LINQ技術(shù)應(yīng)用、智能客戶端部署ClickOnce等技術(shù)。本書附錄通過網(wǎng)上購物系統(tǒng)介紹了使用Visual Studio 2015開發(fā)Web項(xiàng)目的強(qiáng)大功能,有利于讀者進(jìn)一步學(xué)習(xí)Visual Studio 2015開發(fā)工具。本書項(xiàng)目完整實(shí)用,既涉及項(xiàng)目開發(fā)的各個(gè)環(huán)節(jié),又盡量避免出現(xiàn)重復(fù)知識(shí)點(diǎn)。在講解方面,本書力求以深入淺出的方式指導(dǎo)讀者完成項(xiàng)目的開發(fā),并期望讀者能收到舉一反三的效果。
曾建華,1994年畢業(yè)于華中師范大學(xué)計(jì)算機(jī)科學(xué)系,畢業(yè)后先后在華南農(nóng)業(yè)大學(xué)、深圳職業(yè)技術(shù)學(xué)院任教。對(duì)本科院校和職業(yè)院校都有深刻的了解,具備豐富的教學(xué)經(jīng)驗(yàn)。在高校任教的同時(shí),本人從未間斷過項(xiàng)目的開發(fā),本人使用的過軟件工具包括:SubLime、Visual Studio、SQL Server、Delphi、Foxbase等。具備豐富的數(shù)據(jù)庫項(xiàng)目開發(fā)經(jīng)驗(yàn)和自學(xué)新技術(shù)的能力。
第1章 項(xiàng)目簡介 (1)
1.1 項(xiàng)目和開發(fā)環(huán)境介紹 (1)
1.1.1 為什么學(xué)習(xí)該項(xiàng)目 (1)
1.1.2 開發(fā)環(huán)境介紹 (2)
1.2 系統(tǒng)運(yùn)行 (2)
1.2.1 準(zhǔn)備項(xiàng)目所需數(shù)據(jù)庫 (2)
1.2.2 運(yùn)行學(xué)生選課系統(tǒng) (5)
1.3 認(rèn)識(shí)項(xiàng)目 (6)
1.3.1 項(xiàng)目功能介紹 (6)
1.3.2 熟悉項(xiàng)目數(shù)據(jù)庫中的表 (13)
1.3.3 數(shù)據(jù)庫中表之間的關(guān)系 (15)
實(shí)訓(xùn) (17)
第2章 主窗體開發(fā) (21)
2.1 項(xiàng)目構(gòu)成 (21)
2.1.1 創(chuàng)建項(xiàng)目 (21)
2.1.2 認(rèn)識(shí)Program.cs文件 (23)
2.2 主窗體設(shè)計(jì) (24)
2.2.1 主菜單(MenuStrip) (24)
2.2.2 工具欄(ToolStrip) (27)
2.2.3 狀態(tài)欄(StatusStrip) (29)
2.2.4 多文檔界面(MDI)應(yīng)用程序主窗體設(shè)計(jì) (31)
實(shí)訓(xùn) (33)
第3章 數(shù)據(jù)維護(hù)窗體開發(fā) (34)
3.1 系部數(shù)據(jù)維護(hù) (34)
3.1.1 創(chuàng)建數(shù)據(jù)集并添加到系部表 (34)
3.1.2 設(shè)計(jì)系部信息窗體并維護(hù)數(shù)據(jù) (37)
3.2 班級(jí)數(shù)據(jù)維護(hù) (42)
3.2.1 修改數(shù)據(jù)集并添加到班級(jí)表 (42)
3.2.2 設(shè)計(jì)班級(jí)信息窗體并維護(hù)數(shù)據(jù) (43)
3.3 學(xué)生數(shù)據(jù)維護(hù) (49)
3.3.1 修改數(shù)據(jù)集并添加到學(xué)生表 (49)
3.3.2 設(shè)計(jì)學(xué)生信息窗體并維護(hù)數(shù)據(jù) (49)
3.4 課程數(shù)據(jù)維護(hù) (54)
3.4.1 設(shè)計(jì)課程信息窗體 (54)
3.4.2 維護(hù)課程數(shù)據(jù) (55)
實(shí)訓(xùn) (60)
第4章 系統(tǒng)登錄及權(quán)限管理 (61)
4.1 系統(tǒng)登錄 (61)
4.1.1 設(shè)計(jì)登錄窗體 (61)
4.1.2 編寫靜態(tài)類供全局使用 (62)
4.1.3 編寫登錄相關(guān)代碼 (65)
4.2 權(quán)限管理 (67)
4.2.1 登錄信息 (67)
4.2.2 操作權(quán)限控制 (68)
實(shí)訓(xùn) (69)
第5章 學(xué)生選課 (70)
5.1 選課填報(bào)志愿 (70)
5.1.1 界面設(shè)計(jì) (70)
5.1.2 實(shí)現(xiàn)選課業(yè)務(wù)邏輯 (78)
5.1.3 實(shí)現(xiàn)DataGridView拖放行確定選課志愿順序 (83)
5.2 查詢報(bào)名結(jié)果 (87)
5.2.1 界面設(shè)計(jì) (87)
5.2.2 相關(guān)代碼編寫 (87)
實(shí)訓(xùn) (90)
第6章 選課抽簽及抽簽結(jié)果查詢 (92)
6.1 隨機(jī)抽簽產(chǎn)生選課結(jié)果 (92)
6.1.1 設(shè)計(jì)存儲(chǔ)過程 (92)
6.1.2 調(diào)用存儲(chǔ)過程 (95)
6.2 按課程查看選課結(jié)果 (96)
6.2.1 界面設(shè)計(jì) (97)
6.2.2 相關(guān)代碼編寫 (97)
實(shí)訓(xùn) (100)
第7章 統(tǒng)計(jì)查詢 (102)
7.1 按班級(jí)性別統(tǒng)計(jì)學(xué)生人數(shù) (102)
7.1.1 界面設(shè)計(jì) (102)
7.1.2 相關(guān)代碼編寫 (103)
7.2 未選課學(xué)生統(tǒng)計(jì) (106)
7.2.1 界面設(shè)計(jì) (106)
7.2.2 相關(guān)代碼編寫 (107)
實(shí)訓(xùn) (110)
第8章 RDLC報(bào)表 (111)
8.1 打印來自原始表的數(shù)據(jù) (111)
8.1.1 創(chuàng)建報(bào)表 (111)
8.1.2 準(zhǔn)備預(yù)覽報(bào)表窗體 (124)
8.1.3 調(diào)用報(bào)表 (125)
8.2 打印來自自定義表的數(shù)據(jù) (127)
8.2.1 修改數(shù)據(jù)集,準(zhǔn)備報(bào)表所需的DataTable (127)
8.2.2 創(chuàng)建報(bào)表 (129)
8.2.3 調(diào)用報(bào)表 (132)
實(shí)訓(xùn) (134)
第9章 系統(tǒng)完善 (135)
9.1 設(shè)計(jì)關(guān)于窗體 (135)
9.1.1 設(shè)置項(xiàng)目屬性 (135)
9.1.2 設(shè)計(jì)窗體 (137)
9.2 異常 (139)
9.2.1 異常的概念 (139)
9.2.2 異常的處理 (139)
9.3 DataGridView單擊列標(biāo)題時(shí)取消排序 (141)
9.3.1 通過可視化方式設(shè)定DataGridView的所有列不排序 (141)
9.3.2 通過編寫通用方法設(shè)定DataGridView的所有列不排序 (142)
9.3.3 調(diào)用方法禁止DataGridView單擊列標(biāo)題時(shí)排序 (142)
9.4 Singleton模式 (142)
9.4.1 Singleton模式的概念 (142)
9.4.2 用Singleton模式防止MDI子窗體的多實(shí)例化 (143)
實(shí)訓(xùn) (144)
第10章 控件開發(fā) (145)
10.1 用戶控件 (145)
10.1.1 開發(fā)用戶控件 (145)
10.1.2 使用用戶控件 (150)
10.2 復(fù)合控件 (151)
10.2.1 開發(fā)登錄系統(tǒng)的復(fù)合控件 (152)
10.2.2 使用復(fù)合控件實(shí)現(xiàn)系統(tǒng)登錄 (154)
實(shí)訓(xùn) (156)
第11章 LINQ查詢技術(shù) (157)
11.1 LINQ TO Object (157)
11.1.1 LINQ TO Object簡介 (157)
11.1.2 使用LINQ TO Object (158)
11.2 LINQ TO DataSet (163)
11.2.1 LINQ TO DataSet簡介 (163)
11.2.2 使用LINQ TO DataSet (163)
11.3 LINQ TO SQL (165)
11.3.1 LINQ TO SQL簡介 (165)
11.3.2 使用LINQ TO SQL (165)
實(shí)訓(xùn) (168)
第12章 使用ClickOnce部署項(xiàng)目 (170)
12.1 發(fā)布前的準(zhǔn)備 (171)
12.1.1 配置IIS (171)
12.1.2 更改項(xiàng)目圖標(biāo) (173)
12.2 發(fā)布 (174)
12.2.1 發(fā)布項(xiàng)目 (174)
12.2.2 測(cè)試發(fā)布項(xiàng)目 (175)
實(shí)訓(xùn) (176)
附錄A 網(wǎng)上購物系統(tǒng)及其數(shù)據(jù)庫簡介 (177)
A.1 網(wǎng)上購物系統(tǒng)介紹 (177)
A.1.1 網(wǎng)上購物系統(tǒng)功能介紹 (177)
A.1.2 為什么通過網(wǎng)上購物系統(tǒng)學(xué)習(xí)SQL Server (177)
A.2 運(yùn)行網(wǎng)上購物系統(tǒng) (178)
A.2.1 準(zhǔn)備網(wǎng)上購物系統(tǒng)所需數(shù)據(jù)庫 (178)
A.2.2 運(yùn)行網(wǎng)上購物系統(tǒng) (180)
A.2.3 網(wǎng)上購物系統(tǒng)功能介紹 (183)
A.3 網(wǎng)上購物系統(tǒng)使用的數(shù)據(jù)庫eShop (195)
A.3.1 初步認(rèn)識(shí)網(wǎng)上購物系統(tǒng)使用的數(shù)據(jù)庫eShop (195)
A.3.2 數(shù)據(jù)庫中表之間的關(guān)系 (198)