第1章 项目简介 1
1.1 项目和开发环境介绍 1
1.1.1 为什么学习该项目 1
1.1.2 开发环境介绍 1
1.2 系统运行 1
1.2.1 准备项目所需数据库 1
1.2.2 运行学生选课系统 5
1.3 认识项目 6
1.3.1 项目功能介绍 6
1.3.2 熟悉项目数据库中的表 13
1.3.3 数据库中表之间的关系 16
实训 18
第2章 主窗体开发 22
2.1 项目构成 22
2.1.1 创建项目 22
2.1.2 认识Program.cs文件 24
2.2 主窗体设计 25
2.2.1 主菜单(MenuStrip) 25
2.2.2 工具栏(ToolStrip) 28
2.2.3 状态栏(StatusStrip) 31
2.2.4 多文档界面(MDI)应用程序主窗体设计 33
实训 33
第3章 数据维护窗体开发 34
3.1 系部数据维护 34
3.1.1 创建数据集并添加到系部表 34
3.1.2 设计系部信息窗体并维护数据 37
3.2 班级数据维护 43
3.2.1 修改数据集并添加到班级表 43
3.2.2 设计班级信息窗体并维护数据 44
3.3 学生数据维护 51
3.3.1 修改数据集并添加到学生表 51
3.3.2 设计学生信息窗体并维护数据 51
3.4 课程数据维护 58
3.4.1 设计课程信息窗体 58
3.4.2 维护课程数据 60
实训 65
第4章 系统登录及权限管理 66
4.1 系统登录 66
4.1.1 设计登录窗体 66
4.1.2 编写静态类供全局使用 67
4.1.3 编写登录相关代码 69
4.2 权限管理 72
4.2.1 登录信息 72
4.2.2 操作权限控制 73
实训 74
第5章 学生选课 75
5.1 选课填报志愿 75
5.1.1 界面设计 75
5.1.2 实现选课业务逻辑 84
5.1.3 实现DataGridView拖放行确定选课志愿顺序 89
5.2 查询报名结果 94
5.2.1 界面设计 94
5.2.2 相关代码编写 94
实训 98
第6章 选课抽签及抽签结果查询 99
6.1 随机抽签产生选课结果 99
6.1.1 设计存储过程 99
6.1.2 调用存储过程 102
6.2 按课程查看选课结果 104
6.2.1 界面设计 104
6.2.2 相关代码编写 105
实训 108
第7章 统计查询 109
7.1 按班级性别统计学生人数 109
7.1.1 界面设计 109
7.1.2 相关代码编写 110
7.2 未选课学生统计 113
7.2.1 界面设计 113
7.2.2 相关代码编写 114
实训 117
第8章 Crystal报表 118
8.1 打印来自单表的数据 118
8.1.1 创建Crystal报表 118
8.1.2 准备预览报表窗体 132
8.1.3 调用报表 134
8.2 打印来自多表的数据 135
8.2.1 创建Crystal报表 135
8.2.2 调用报表 139
8.3 打印来自自定义表的数据 139
8.3.1 修改数据集,准备报表所需的DataTable 139
8.3.2 创建Crystal报表 142
8.3.3 调用报表 145
实训 146
第9章 系统完善 148
9.1 设计关于窗体 148
9.1.1 设置项目属性 148
9.1.2 设计窗体 150
9.2 异常 151
9.2.1 异常的概念 151
9.2.2 异常处理 152
9.3 DataGridView单击列标题时取消排序 153
9.3.1 通过可视化方式设定DataGridView的所有列不排序 154
9.3.2 通过编写通用方法设定DataGridView的所有列不排序 154
9.3.3 调用方法禁止DataGridView单击列标题时排序 154
9.4 Singleton模式 155
9.4.1 Singleton模式的概念 155
9.4.2 用Singleton模式防止MDI子窗体的多实例化 155
实训 157
第10章 控件开发 158
10.1 用户控件 158
10.1.1 开发用户控件 158
10.1.2 使用用户控件 163
10.2 复合控件 165
10.2.1 开发登录系统的复合控件 165
10.2.2 使用复合控件实现系统登录 168
实训 170
第11章 LINQ技术 171
11.1 LINQTODataSet 171
11.1.1 LINQTO DataSet简介 171
11.1.2 使用LINQ TO DataSet查询学生信息 171
11.2 LINQ TO SQL 174
11.2.1 LINQ TO SQL简介 174
11.2.2 使用LINQ TO SQL查询学生信息 174
11.3 LINQ TO Object 177
11.3.1 LINQ TO Object简介 177
11.3.2 使用LINQ TO Object查询学生信息 177
实训 180
第12章 使用ClickOnce部署项目 181
12.1 发布前的准备 181
12.1.1 配置IIS 181
12.1.2 更改项目图标 183
12.2 发布 185
12.2.1 发布项目 185
12.2.2 测试发布项目 187
实训 190