基于C/S架构的软件项目实训 VB.NETPDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:亓晓静编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2005
- ISBN:7121008718
- 页数:252 页
实训1 MDI应用系统 1
实训目的 1
1.1 建立简单的MDI应用系统 2
1.1.1 创建MDI窗体 2
1.1.2 向MDI窗体添加菜单 3
1.1.3 建立MDI子窗体 3
1.1.4 打开MDI子窗体 3
1.2 限制打开MDI子窗体 4
1.3 为MDI应用系统添加工具栏 6
1.3.1 在mdiMain窗体中添加工具栏控件 6
1.3.2 为工具栏添加按钮 6
1.3.3 用ImageList控件搜集图片 7
1.3.4 把ImageList控件与工具栏控件建立连接 8
1.3.5 为工具栏按钮选择图片 8
1.4 为MDI应用系统添加状态栏 10
1.4.1 在mdiMain窗体中添加状态栏控件 10
1.4.2 为状态栏添加面板(StatusBarPanel),将状态栏分成三个信息区 11
1.4.3 让状态栏显示面板 11
1.4.4 在time面板中跟踪显示系统时间 11
1.4.5 在title面板中显示当前活动的MDI子窗体的标题 11
1.4.6 在help面板中显示菜单项的帮助信息 12
1.5 MDI应用系统中的“窗口”菜单 12
1.5.1 编辑菜单 12
1.5.2 编写排列MDI子窗体的代码 13
1.5.3 在菜单中列出已打开的MDI子窗体 13
1.6 其他 14
1.6.1 合并菜单 14
1.6.2 工具栏和状态栏 15
1.7 实训小结 15
实训2 使用DataGrid控件的数据窗体 17
实训目的 17
2.1 为窗体准备数据 18
2.1.1 建立到数据库的连接 18
2.1.2 配置数据适配器 18
2.1.3 生成数据集 19
2.1.4 填充数据集 21
2.2 用DataGrid控件显示数据 22
2.3 用DataGrid控件修改数据 23
2.3.1 设计方法 24
2.3.2 用DataGrid控件增加和删除数据 24
2.4 数据检查 26
2.4.1 对数据表Zybiao的数据分析 26
2.4.2 合法性验证 26
2.4.3 数据合理性检查 27
2.4.4 常见错误的纠正 29
2.5 关闭窗口前的提示 31
2.6 DataGrid控件初步 32
2.6.1 定义DataGrid控件的TableStyles属性 32
2.6.2 定义styleZybiao的GridColumnStyles属性 33
2.6.3 确定数据表对象zybiao的显示格式 33
2.6.4 DataGrid控件中空行的特殊性 34
2.7 实训小结 35
实训3 一屏一个记录的数据窗体 39
实训目的 39
3.1 准备数据(SQL Server专用的ADO.NET对象) 40
3.2 简单的数据绑定控件 41
3.3 数据导航按钮 42
3.3.1 设计导航按钮 43
3.3.2 BindingManagerBase类和BindingContext类 43
3.4 修改数据 44
3.4.1 Update的工作原理 45
3.4.2 改进的存盘按钮 45
3.4.3 取消按钮 46
3.5 增加和删除数据行 47
3.6 检查数据的合法性 48
3.6.1 数据集的检查机制 49
3.6.2 结束当前编辑 49
3.6.3 数据合法性检查的实现 49
3.7 数据检查的策略 53
3.7.1 分析数据的业务规则 53
3.7.2 确定数据检查的策略 53
3.8 用MaskedEdit控件限制输入 54
3.8.1 用Masked Edit控件来限制inyear 54
3.8.2 用ErrorProvider类实现提示型字段级的检查策略 56
3.9 用NumericUpDown控件限制数值范围 57
3.9.1 NumericUpDown控件接收数值 57
3.9.2 用键盘事件和ErrorProvider类实现提示型字段级的检查策略 59
3.10 记录级的数据检查 60
3.11 功能改进 62
3.12 实训小结 63
实训4 ComboBox与代码表 65
实训目的 65
4.1 ComboBox与代码表 66
4.1.1 添加ComboBox控件 67
4.1.2 为ComboBox控件准备要填充的数据 67
4.1.3 代码表技术的实现 69
4.1.4 测试 69
4.2 手动代码表 70
4.2.1 添加ComboBox控件 70
4.2.2 构造代码表 70
4.2.3 修改窗体的Load事件 72
4.2.4 调整窗体 72
4.2.5 测试 72
4.3 带参数的数据适配器 73
4.3.1 重新配置数据适配器adaStudent 73
4.3.2 填充带参数的数据适配器 74
4.3.3 测试 75
4.3.4 窗体的状态 75
4.3.5 其他调整 77
4.4 用委托的方式提示每行的信息 78
4.4.1 添加状态栏 78
4.4.2 委托与位置变化的事件处理程序 79
4.4.3 测试 80
4.4.4 合并与调整 80
4.5 窗体的完善措施 82
4.5.1 统计本次编辑情况 83
4.5.2 加载数据前的存盘提示 85
4.5.3 关闭窗口前的提示 86
4.5.4 当前取消和全部取消 87
4.5.5 控制焦点 88
4.6 实训小结 89
实训5 构造数据窗体的基本框架 91
实训目的 91
5.1 用MDI框架组织 92
5.1.1 MDI窗体的属性 92
5.1.2 MDI窗体的状态栏 92
5.1.3 MDI窗体的菜单 93
5.1.4 打开MDI子窗体 93
5.2 数据维护窗体的总结 94
5.2.1 为窗体准备数据 94
5.2.2 显示和修改数据 95
5.2.3 显式地结束当前编辑——endChange函数 95
5.2.4 数据检查 95
5.2.5 增加与删除 96
5.2.6 存盘与取消 96
5.2.7 数据导航——MovePosition过程 96
5.2.8 存盘前的检查 96
5.2.9 统计 97
5.2.10 控制窗体状态——setEnabled过程 97
5.2.11 更新状态栏的信息——my_PositionChanged过程 97
5.3 建立frmXsbiao窗体 98
5.3.1 定义数据适配器adaStudent 98
5.3.2 数据绑定 98
5.3.3 填充数据 98
5.3.4 改造endChange函数 100
5.3.5 数据维护的改造 102
5.3.6 数据导航功能 105
5.3.7 存盘前的检查 105
5.3.8 统计 106
5.3.9 控制窗体状态 107
5.3.10 控制状态栏的信息 107
5.3.11 窗体初始化 108
5.3.12 在MDI窗体中用菜单打开窗体frmXsbiao 109
5.4 窗体的基本框架 110
5.4.1 窗体上的事件处理程序 110
5.4.2 窗体上的过程与函数 110
5.4.3 窗体上的变量 111
5.4.4 在窗体基本框架下新建窗体的步骤 111
5.5 实训小结 112
实训6 继承窗体 113
实训目的 113
6.1 数据窗体基类 113
6.1.1 建立窗体类 114
6.1.2 构造类的属性 115
6.1.3 构造可以在派生类中重写的方法 116
6.1.4 构造可以在派生类中引用的方法 117
6.2 继承窗体 117
6.2.1 添加继承窗体 117
6.2.2 修改继承窗体frmDataXs上的控件 119
6.3 为窗体准备数据 119
6.3.1 定义sourceTable变量 119
6.3.2 在派生窗体中修改数据适配器 120
6.3.3 重新配置数据适配器 120
6.3.4 重新生成数据集 120
6.3.5 控件绑定 121
6.4 按输入的参数加载数据 122
6.4.1 年级参数 122
6.4.2 专业参数 122
6.4.3 用输入的参数加载数据 122
6.4.4 控制窗体状态的SetEnabled方法 123
6.5 添加到MDI系统中 124
6.5.1 修改MDI窗体的菜单 124
6.5.2 为菜单项编写程序 125
6.6 数据检查 126
6.6.1 数据检查策略 126
6.6.2 用下拉列表框来限制用户的输入 126
6.6.3 用KeyPress事件来限制用户输入学号 128
6.6.4 用DataTimePicker控件输入日期 129
6.6.5 提示型字段级的检查 129
6.6.6 记录级检查 130
6.6.7 Key键重复时的提示 131
6.7 实训小结 131
实训7 数据窗体基类frmData的扩展 133
实训目的 133
7.1 数据窗体基类frmData 134
7.1.1 窗体功能框架 134
7.1.2 各种功能的实现 134
7.1.3 两种显示方式的比较 135
7.2 用继承方法建立窗体frmDataZy 135
7.2.1 继承建立窗体frmDataZy 136
7.2.2 为窗体准备数据 136
7.2.3 添加Grid控件 136
7.2.4 加载数据 137
7.2.5 添加到MDI应用系统中 137
7.3 关闭窗口前的检查 138
7.3.1 修改数据窗体基类frmData 138
7.3.2 修改窗体frmDataZy 139
7.3.3 小结 140
7.4 ColumnChanging事件 140
7.5 代码表管理窗口 141
7.5.1 用复制的方法建立窗体frmDataDM 141
7.5.2 用ComboBox控件选择要修改的表 142
7.5.3 动态地改变Grid控件中显示的数据 143
7.5.4 添加到MDI应用系统中 144
7.5.5 更新状态栏的信息 145
7.5.6 动态地修改Grid控件的显示格式 146
7.5.7 动态配置数据适配器 146
7.5.8 数据检查 148
7.6 实训小结 150
实训8 登记学生成绩 153
实训目的 153
8.1 建立数据窗体frmDataCj 154
8.1.1 继承建立窗体frmDataCj 154
8.1.2 为窗体准备数据 154
8.1.3 添加Grid控件 154
8.1.4 加载数据 155
8.1.5 添加到MDI应用系统中 156
8.2 指定班级和课程参数 157
8.2.1 添加三个输入参数的控件 157
8.2.2 参数关联 158
8.2.3 用DataReader对象填充年级参数 159
8.2.4 用DataTable对象动态填充专业和课程参数 160
8.3 按班级和课程加载数据 162
8.3.1 修改Grid控件列的显示格式 162
8.3.2 重新配置数据适配器的SelectCommand对象 163
8.4 按班级增加学生名单 164
8.4.1 管理增加按钮 164
8.4.2 用代码向数据集中添加数据 165
8.5 按班级删除学生成绩 167
8.5.1 修改删除按钮 167
8.5.2 建立存储过程批量删除数据 167
8.5.3 定义参数 168
8.5.4 用ADO.NET调用带参数的存储过程 168
8.6 数据检查 170
8.6.1 检查成绩 170
8.6.2 关闭窗口前的检查 170
8.7 实训小结 171
实训9 成绩查询与统计 173
实训目的 173
9.1 建立按学号查询的窗体 174
9.1.1 设计要求 174
9.1.2 建立窗体frmSearchXhao 174
9.1.3 建立到数据库的连接 174
9.1.4 界面设计 174
9.1.5 添加到MDI应用系统中 174
9.2 建立查询的存储过程 175
9.2.1 查询要求 175
9.2.2 建立存储过程xhaoCj 175
9.2.3 显示查询结果 177
9.3 调用存储过程执行查询 178
9.3.1 设计要求 178
9.3.2 存储过程的各种参数 180
9.3.3 数据适配器与Command对象 181
9.4 按班级查询学生成绩 181
9.4.1 设计要求 182
9.4.2 存储过程bjCj 182
9.4.3 界面设计 183
9.4.4 建立连接对象 184
9.4.5 动态地管理关联的参数 185
9.4.6 调用存储过程执行查询 186
9.5 查询统计窗体基类frmSearch 187
9.5.1 建立查询窗体基类frmSearch 187
9.5.2 定义窗体属性 187
9.5.3 创建buildTable方法 188
9.5.4 创建buildReader方法 189
9.5.5 重载窗体基类frmSearch的buildTable方法 190
9.5.6 重载窗体基类frmSearch的buildReader方法 191
9.6 用继承方法重建按班级查询窗体 192
9.6.1 用继承方法建立新窗体frmSearchBjNew 192
9.6.2 改写关联参数的事件 193
9.6.3 改写执行查询的代码 195
9.7 按班级统计成绩 196
9.7.1 设计要求 196
9.7.2 修改存储过程bjCj 197
9.7.3 界面设计 199
9.7.4 共享事件处理程序 199
9.8 实训小结 201
实训10 类似资源管理器的窗体 203
实训目的 203
10.1 创建类似资源管理器的窗体 204
10.1.1 类似资源管理器窗体的结构 204
10.1.2 创建类似资源管理器的窗体 204
10.1.3 Splitter控件与Dock属性 205
10.2 建立与读取数据有关的类 205
10.2.1 创建连接对象类 205
10.2.2 读取数据类 208
10.3 用TreeView控件显示层次数据 209
10.3.1 学生数据的第一层:年级 210
10.3.2 学生数据的第二层:专业 210
10.4 TreeView控件与DataGrid控件保持同步 212
10.4.1 同步分析 213
10.4.2 DataGrid控件 213
10.4.3 存储过程(外连接查询) 213
10.4.4 同步代码 214
10.4.5 添加到MDI应用系统中 216
10.5 用户自定义控件 216
10.5.1 创建新控件DataTreeView 217
10.5.2 设计要求 217
10.5.3 新的结点类dataNode 218
10.5.4 新的枚举NodeType和GetDataType 219
10.6 设计DataTreeView控件 219
10.6.1 需要添加的新属性 220
10.6.2 动态添加子结点的方法AddChiNode 221
10.6.3 使用委托GetLevelParams 223
10.6.4 创建根结点的方法 225
10.7 使用DataTreeView控件 226
10.7.1 定义属性 226
10.7.2 使用视图 227
10.7.3 添加根结点 228
10.7.4 为每层的结点编写取参数的函数 228
10.7.5 展开时动态添加结点 228
10.7.6 添加到MDI应用系统中 228
10.8 实训小结 229
实训11 SQL Server的程序 231
实训目的 231
11.1 存储过程 232
11.1.1 存储过程介绍 232
11.1.2 创建存储过程的语法 233
11.2 使用存储过程的工具 234
11.2.1 SQL Server的查询分析器Query Analyzer 234
11.2.2 SQL Server的企业管理器Enterprise Manager 238
11.2.3 VS.NET的集成开发环境(IDE) 239
11.2.4 在VB.NET中执行存储过程 241
11.3 视图 242
11.3.1 视图及其特点 242
11.3.2 使用视图的工具 243
11.3.3 在VB.NET中执行视图 243
11.4 触发器 243
11.4.1 什么是触发器 243
11.4.2 编辑表的触发器 244
11.4.3 使用触发器 244
11.5 实训小结 247
附录A 成绩管理系统 249
A.1 功能清单 249
A.2 数据库设计 249
A.3 数据库的移动 252
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《高中压配电网规划 实用模型、方法、软件和应用 上》王主丁著 2020
- 《网络互联技术项目化教程》梁诚主编 2020
- 《物联网系统架构》解运洲 2019
- 《如何做一个合格的建筑项目经理》梁志军著 2018
- 《山西文华项目图书 山西古代寺观彩塑 辽金彩塑 第1册》(中国)张明远 2019
- 《SECC软件工程师认证课程》北京泓深教育科技有限公司 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017