本書(shū)通過(guò)一個(gè)完整的項(xiàng)目講解如何使用Visual Studio 2015(C#)開(kāi)發(fā)基于數(shù)據(jù)庫(kù)(SQL Server)的Windows窗體應(yīng)用程序。本書(shū)主要內(nèi)容包括:主窗體界面設(shè)計(jì)、數(shù)據(jù)集、多種數(shù)據(jù)維護(hù)(錄入、修改、刪除)開(kāi)發(fā)、統(tǒng)計(jì)查詢(xún)、RDLC報(bào)表設(shè)計(jì)、自定義控件開(kāi)發(fā)(簡(jiǎn)單控件、復(fù)合控件)、控件使用技巧(如DataGridView拖放技術(shù)、自定義繪制技術(shù))、LINQ技術(shù)應(yīng)用、智能客戶(hù)端部署ClickOnce等技術(shù)。本書(shū)附錄通過(guò)網(wǎng)上購(gòu)物系統(tǒng)介紹了使用Visual Studio 2015開(kāi)發(fā)Web項(xiàng)目的強(qiáng)大功能,有利于讀者進(jìn)一步學(xué)習(xí)Visual Studio 2015開(kāi)發(fā)工具。本書(shū)項(xiàng)目完整實(shí)用,既涉及項(xiàng)目開(kāi)發(fā)的各個(gè)環(huán)節(jié),又盡量避免出現(xiàn)重復(fù)知識(shí)點(diǎn)。在講解方面,本書(shū)力求以深入淺出的方式指導(dǎo)讀者完成項(xiàng)目的開(kāi)發(fā),并期望讀者能收到舉一反三的效果。
曾建華,1994年畢業(yè)于華中師范大學(xué)計(jì)算機(jī)科學(xué)系,畢業(yè)后先后在華南農(nóng)業(yè)大學(xué)、深圳職業(yè)技術(shù)學(xué)院任教。對(duì)本科院校和職業(yè)院校都有深刻的了解,具備豐富的教學(xué)經(jīng)驗(yàn)。在高校任教的同時(shí),本人從未間斷過(guò)項(xiàng)目的開(kāi)發(fā),本人使用的過(guò)軟件工具包括:SubLime、Visual Studio、SQL Server、Delphi、Foxbase等。具備豐富的數(shù)據(jù)庫(kù)項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)和自學(xué)新技術(shù)的能力。
第1章 項(xiàng)目簡(jiǎn)介 (1)
1.1 項(xiàng)目和開(kāi)發(fā)環(huán)境介紹 (1)
1.1.1 為什么學(xué)習(xí)該項(xiàng)目 (1)
1.1.2 開(kāi)發(fā)環(huán)境介紹 (2)
1.2 系統(tǒng)運(yùn)行 (2)
1.2.1 準(zhǔn)備項(xiàng)目所需數(shù)據(jù)庫(kù) (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ù)庫(kù)中的表 (13)
1.3.3 數(shù)據(jù)庫(kù)中表之間的關(guān)系 (15)
實(shí)訓(xùn) (17)
第2章 主窗體開(kāi)發(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ù)窗體開(kāi)發(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 編寫(xiě)靜態(tài)類(lèi)供全局使用 (62)
4.1.3 編寫(xiě)登錄相關(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 查詢(xún)報(bào)名結(jié)果 (87)
5.2.1 界面設(shè)計(jì) (87)
5.2.2 相關(guān)代碼編寫(xiě) (87)
實(shí)訓(xùn) (90)
第6章 選課抽簽及抽簽結(jié)果查詢(xún) (92)
6.1 隨機(jī)抽簽產(chǎn)生選課結(jié)果 (92)
6.1.1 設(shè)計(jì)存儲(chǔ)過(guò)程 (92)
6.1.2 調(diào)用存儲(chǔ)過(guò)程 (95)
6.2 按課程查看選課結(jié)果 (96)
6.2.1 界面設(shè)計(jì) (97)
6.2.2 相關(guān)代碼編寫(xiě) (97)
實(shí)訓(xùn) (100)
第7章 統(tǒng)計(jì)查詢(xún) (102)
7.1 按班級(jí)性別統(tǒng)計(jì)學(xué)生人數(shù) (102)
7.1.1 界面設(shè)計(jì) (102)
7.1.2 相關(guān)代碼編寫(xiě) (103)
7.2 未選課學(xué)生統(tǒng)計(jì) (106)
7.2.1 界面設(shè)計(jì) (106)
7.2.2 相關(guān)代碼編寫(xiě) (107)
實(shí)訓(xùn) (110)
第8章 RDLC報(bào)表 (111)
8.1 打印來(lái)自原始表的數(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 打印來(lái)自自定義表的數(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 通過(guò)可視化方式設(shè)定DataGridView的所有列不排序 (141)
9.3.2 通過(guò)編寫(xiě)通用方法設(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章 控件開(kāi)發(fā) (145)
10.1 用戶(hù)控件 (145)
10.1.1 開(kāi)發(fā)用戶(hù)控件 (145)
10.1.2 使用用戶(hù)控件 (150)
10.2 復(fù)合控件 (151)
10.2.1 開(kāi)發(fā)登錄系統(tǒng)的復(fù)合控件 (152)
10.2.2 使用復(fù)合控件實(shí)現(xiàn)系統(tǒng)登錄 (154)
實(shí)訓(xùn) (156)
第11章 LINQ查詢(xún)技術(shù) (157)
11.1 LINQ TO Object (157)
11.1.1 LINQ TO Object簡(jiǎn)介 (157)
11.1.2 使用LINQ TO Object (158)
11.2 LINQ TO DataSet (163)
11.2.1 LINQ TO DataSet簡(jiǎn)介 (163)
11.2.2 使用LINQ TO DataSet (163)
11.3 LINQ TO SQL (165)
11.3.1 LINQ TO SQL簡(jiǎn)介 (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)上購(gòu)物系統(tǒng)及其數(shù)據(jù)庫(kù)簡(jiǎn)介 (177)
A.1 網(wǎng)上購(gòu)物系統(tǒng)介紹 (177)
A.1.1 網(wǎng)上購(gòu)物系統(tǒng)功能介紹 (177)
A.1.2 為什么通過(guò)網(wǎng)上購(gòu)物系統(tǒng)學(xué)習(xí)SQL Server (177)
A.2 運(yùn)行網(wǎng)上購(gòu)物系統(tǒng) (178)
A.2.1 準(zhǔn)備網(wǎng)上購(gòu)物系統(tǒng)所需數(shù)據(jù)庫(kù) (178)
A.2.2 運(yùn)行網(wǎng)上購(gòu)物系統(tǒng) (180)
A.2.3 網(wǎng)上購(gòu)物系統(tǒng)功能介紹 (183)
A.3 網(wǎng)上購(gòu)物系統(tǒng)使用的數(shù)據(jù)庫(kù)eShop (195)
A.3.1 初步認(rèn)識(shí)網(wǎng)上購(gòu)物系統(tǒng)使用的數(shù)據(jù)庫(kù)eShop (195)
A.3.2 數(shù)據(jù)庫(kù)中表之間的關(guān)系 (198)