第1章 项目简介 1
1.1 项目和开发环境介绍 1
1.1.1 为什么学习该项目 1
1.1.2 开发环境介绍 1
1.2 系统运行 2
1.2.1 准备项目所需数据库 2
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) 30
2.2.4 多文档界面(MDI)应用程序主窗体设计 31
实训 34
第3章 数据维护窗体开发 35
3.1 系部数据维护 35
3.1.1 创建数据集并添加到系部表 35
3.1.2 设计系部信息窗体并维护数据 38
3.2 班级数据维护 43
3.2.1 修改数据集并添加到班级表 43
3.2.2 设计班级信息窗体并维护数据 45
3.3 学生数据维护 51
3.3.1 修改数据集并添加到学生表 51
3.3.2 设计学生信息窗体并维护数据 51
3.4 课程数据维护 57
3.4.1 设计课程信息窗体 57
3.4.2 维护课程数据 57
实训 62
第4章 系统登录及权限管理 64
4.1 系统登录 64
4.1.1 设计登录窗体 64
4.1.2 编写静态类供全局使用 65
4.1.3 编写登录相关代码 67
4.2 权限管理 69
4.2.1 登录信息 69
4.2.2 操作权限控制 71
实训 72
第5章 学生选课 73
5.1 选课填报志愿 73
5.1.1 界面设计 73
5.1.2 实现选课业务逻辑 81
5.1.3 实现DataGridView拖放行确定选课志愿顺序 86
5.2 查询报名结果 90
5.2.1 界面设计 90
5.2.2 相关代码编写 90
实训 93
第6章 选课抽签及抽签结果查询 95
6.1 随机抽签产生选课结果 95
6.1.1 设计存储过程 95
6.1.2 调用存储过程 98
6.2 按课程查看选课结果 99
6.2.1 界面设计 100
6.2.2 相关代码编写 100
实训 103
第7章 统计查询 105
7.1 按班级性别统计学生人数 105
7.1.1 界面设计 105
7.1.2 相关代码编写 106
7.2 未选课学生统计 109
7.2.1 界面设计 109
7.2.2 相关代码编写 110
实训 113
第8章 Crystal报表 114
8.1 打印来自单表的数据 114
8.1.1 创建Crystal报表 114
8.1.2 准备预览报表窗体 127
8.1.3 调用报表 129
8.2 打印来自多表的数据 130
8.2.1 创建Crystal报表 131
8.2.2 调用报表 133
8.3 打印来自自定义表的数据 134
8.3.1 修改数据集,准备报表所需的DataTable 134
8.3.2 创建Crystal报表 136
8.3.3 调用报表 139
实训 140
第9章 系统完善 142
9.1 设计关于窗体 142
9.1.1 设置项目属性 142
9.1.2 设计窗体 143
9.2 异常 145
9.2.1 异常的概念 145
9.2.2 异常处理 145
9.3 DataGridView单击列标题时取消排序 147
9.3.1 通过可视化方式设定DataGridView的所有列不排序 147
9.3.2 通过编写通用方法设定DataGridView的所有列不排序 148
9.3.3 调用方法禁止DataGridView单击列标题时排序 148
9.4 Singleton模式 149
9.4.1 Singleton模式的概念 149
9.4.2 用Singleton模式防止MDI子窗体的多实例化 149
实训 151
第10章 控件开发 152
10.1 用户控件 152
10.1.1 开发用户控件 152
10.1.2 使用用户控件 157
10.2 复合控件 158
10.2.1 开发登录系统的复合控件 158
10.2.2 使用复合控件实现系统登录 161
实训 163
第11章 LINQ查询技术 164
11.1 LINQ TO Object 164
11.1.1 LINQ TO Object简介 164
11.1.2 使用LINQ TO Object 164
11.2 LINQ TO DataSet 170
11.2.1 LINQ TO DataSet简介 170
11.2.2 使用LINQ TO DataSet 170
11.3 LINQ TO SQL 172
11.3.1 LINQ TO SQL简介 172
11.3.2 使用LINQ TO SQL 172
实训 175
第12章 使用ClickOnce部署项目 176
12.1 发布前的准备 176
12.1.1 配置IIS 176
12.1.2 更改项目图标 178
12.2 发布 179
12.2.1 发布项目 179
12.2.2 测试发布项目 181
实训 184