图书目录

目 录

第1篇 基础篇

第1章 开启Visual Basic之旅 2

视频讲解:1小时16分钟

1.1 Visual Basic概述 2

1.1.1 Visual Basic简述 2

1.1.2 Visual Basic的特点 3

1.2 Visual Basic的安装与启动 3

1.2.1 Visual Basic 6.0+SP6的安装 3

1.2.2 Visual Basic 6.0的启动 5

1.3 纵览Visual Basic 6.0集成开发环境 7

1.3.1 集成开发环境总述 7

1.3.2 菜单栏 7

1.3.3 工具栏 8

1.3.4 工具箱 9

1.3.5 工程资源管理器 11

1.3.6 属性窗口 12

1.3.7 窗体布局窗口 12

1.3.8 对象窗口 13

1.3.9 代码窗口 13

1.4 Visual Basic 6.0的帮助系统 13

第2章 Visual Basic语言基础 15

视频讲解:1小时50分钟

2.1 关键字和标识符 15

2.2 数据类型 15

2.2.1 基本数据类型 16

2.2.2 记录类型 19

2.2.3 枚举类型 20

2.3 变量 21

2.3.1 什么是变量 21

2.3.2 变量的命名 21

2.3.3 变量的声明 22

2.3.4 变量的作用域 24

2.3.5 静态变量 25

2.4 常量 25

2.4.1 常量的声明 25

2.4.2 局部常量和全局常量 26

2.5 运算符和表达式 26

2.5.1 运算符 26

2.5.2 表达式 28

2.5.3 运算符在表达式中的优先级 30

2.6 代码编写规则 31

2.6.1 对象命名规则 31

2.6.2 代码书写规则 33

2.6.3 处理关键字冲突 34

2.6.4 代码注释规则 34

2.7 练一练 36

2.7.1 用户信息注册程序 36

2.7.2 欢迎窗体 37

第3章 程序控制语句 38

视频讲解:2小时2分钟

3.1 顺序结构 38

3.1.1 赋值语句 39

3.1.2 数据的输入 40

3.1.3 数据的输出 41

3.2 选择结构 42

3.2.1 单分支If…Then语句 43

3.2.2 双分支If…Then…Else语句 44

3.2.3 If语句的嵌套 45

3.2.4 多分支If…Then…ElseIf语句 46

3.2.5 Select Case语句 48

3.2.6 IIf函数 50

3.3 循环结构 50

3.3.1 For…Next循环语句 50

3.3.2 For Each…Next循环语句 53

3.3.3 Do…Loop循环语句 53

3.3.4 多重循环 56

3.4 其他辅助控制语句 58

3.4.1 跳转语句GoTo 58

3.4.2 复用语句With…End With 58

3.4.3 退出语句Exit 59

3.4.4 结束语句End 59

3.5 练一练 60

3.5.1 用Print语句打印工资数据 60

3.5.2 用If语句求Y的值 61

第4章 数组 62

视频讲解:1小时40分钟

4.1 数组的概述 62

4.1.1 数组的概念 62

4.1.2 数组与简单变量的区别 63

4.1.3 数组的分类 63

4.2 静态数组 63

4.2.1 静态数组的声明和使用 63

4.2.2 一维数组 65

4.2.3 二维数组 66

4.2.4 多维数组 67

4.3 动态数组 68

4.3.1 动态数组的声明 68

4.3.2 动态数组的使用 69

4.3.3 数组的清除 69

4.4 控件数组 70

4.4.1 控件数组的概念 70

4.4.2 控件数组的创建 70

4.4.3 控件数组的使用 71

4.4.4 加载和删除控件数组中的控件 71

4.5 数组相关函数及语句 73

4.5.1 使用Array函数创建数组 73

4.5.2 使用UBound和LBound函数获取数组上下标 73

4.5.3 使用Split函数生成一维字符串数组 74

4.5.4 使用Option Base语句声明数组下标最大值 75

4.6 练一练 75

4.6.1 输出数组各个元素的值 75

4.6.2 使用Split函数分隔明日公司网址 76

第5章 系统内置函数 77

视频讲解:1小时42分钟

5.1 字符串函数 77

5.1.1 获取字符长度(Len函数) 77

5.1.2 取左(右)面指定个数的字符(Left和Right函数) 78

5.1.3 截取字符串(Mid函数) 79

5.1.4 获取字符出现的位置(InStr和InStrRev函数) 80

5.1.5 去除空格(Trim、RTrim和LTrim函数) 82

5.1.6 将字符串转换为大(小)写(UCase和LCase函数) 83

5.2 数学函数 84

5.2.1 求绝对值(Abs函数) 84

5.2.2 求平方根(Sqr函数) 85

5.2.3 e的n次方(Exp函数) 86

5.2.4 求自然对数(Log函数) 86

5.2.5 返回符号(Sgn函数) 87

5.2.6 取整(Int和Fix函数) 88

5.3 判断函数 89

5.3.1 判断是否为数组(IsArray函数) 89

5.3.2 判断是否为Null(IsNull函数) 89

5.3.3 判断是否为数字(IsNumeric函数) 90

5.4 类型转换函数 90

5.4.1 Str函数(转换为字符型) 90

5.4.2 Val函数(转换为数值型) 91

5.4.3 Asc函数(转换为AscII) 92

5.4.4 Chr函数(转换为字符) 92

5.5 日期和时间函数 93

5.5.1 Date、Now和Time函数 93

5.5.2 Weekday函数 94

5.5.3 年、月、日(Year、Month和Day函数) 95

5.5.4 时、分、秒(Hour、Minute和Second函数) 96

5.6 随机函数 97

5.6.1 初始化随机数(Randomize函数) 97

5.6.2 生成随机数(Rnd函数) 97

5.7 格式化函数 98

5.8 练一练 101

5.8.1 获取当前日期与指定日期差的绝对值 101

5.8.2 将文本框中的数字转换为带有分节符的数字 101

第6章 过程 103

视频讲解:1小时6分钟

6.1 认识过程 103

6.2 事件过程 104

6.2.1 建立事件过程 104

6.2.2 调用事件过程 105

6.3 子过程(Sub过程) 105

6.3.1 建立子过程 105

6.3.2 调用子过程 107

6.3.3 调用其他模块中的子过程 108

6.4 函数过程(Function过程) 109

6.4.1 建立函数过程 109

6.4.2 调用函数过程 109

6.4.3 函数过程与子过程的区别 110

6.5 参数的传递 110

6.5.1 认识参数 110

6.5.2 参数按值和按地址传递 112

6.5.3 数组参数 113

6.5.4 对象参数 114

6.6 嵌套过程 115

6.7 递归过程 116

6.8 属性过程(Property过程) 117

6.8.1 使用属性过程建立类的属性 117

6.8.2 使用类属性 118

6.8.3 只读属性和对象属性 119

6.9 工程中的模块 119

6.9.1 窗体模块 119

6.9.2 标准模块 120

6.9.3 类模块 120

6.9.4 标准模块与类模块的区别 121

6.10 过程的作用域 122

6.11 练一练 124

6.11.1 获取“明日科技”字符串长度 124

6.11.2 用递归计算50年后存款的总金额 125

第2篇 提高篇

 

第7章 窗体与界面设计 128

视频讲解:1小时48分钟

7.1 窗体概述 128

7.1.1 窗体的结构 128

7.1.2 模式窗体和无模式窗体 129

7.1.3 SDI窗体和MDI窗体 129

7.2 窗体的属性 130

7.2.1 名称(Name属性) 130

7.2.2 标题(Caption属性) 130

7.2.3 图标(Icon属性) 131

7.2.4 背景(Picture属性) 132

7.2.5 边框样式(BorderStyle属性) 133

7.3 窗体的事件 134

7.3.1 单击和双击(Click/DbClick事件) 134

7.3.2 载入和卸载(Load/QueryUnload/Unload事件) 135

7.3.3 初始化(Initialize事件) 137

7.3.4 活动性(Activate/Deactivate事件) 137

7.3.5 焦点事件(GotFocus/LostFocus事件) 139

7.3.6 重绘(Paint事件) 140

7.3.7 调整大小(Resize事件) 140

7.4 窗体事件的生命周期 141

7.5 窗体的方法 142

7.5.1 加载窗体(Load方法) 142

7.5.2 卸载窗体(Unload方法) 143

7.5.3 显示窗体(Show方法) 143

7.5.4 隐藏窗体(Hide方法) 144

7.5.5 移动窗体(Move方法) 145

7.5.6 清除窗体(Cls方法) 146

7.5.7 在窗体上显示文本(Print方法) 146

7.5.8 打印窗体(PrintForm方法) 147

7.6 MDI窗体 148

7.6.1 MDI窗体概述 148

7.6.2 MDI窗体的创建 148

7.6.3 在MDI窗体中添加控件 149

7.6.4 MDI子窗体(MDIChild属性) 151

7.6.5 MDI窗体的特点 152

7.7 练一练 153

7.7.1 改变窗体的背景颜色 153

7.7.2 控件随窗体大小而改变 153

7.7.3 屏幕自适应窗体 155

第8章 常用标准控件 156

视频讲解:3小时18分钟

8.1 控件概述 156

8.1.1 控件的作用 156

8.1.2 控件的分类 156

8.1.3 控件的命名 157

8.1.4 控件的属性、方法和事件 158

8.2 控件的相关操作 159

8.2.1 向窗体上添加控件 159

8.2.2 设置控件大小和位置 159

8.2.3 复制控件 159

8.2.4 删除控件 160

8.2.5 锁定控件 160

8.2.6 使用窗体编辑器调整控件布局 160

8.3 界面设计的基本原则 161

8.4 标签控件(Label控件) 163

8.4.1 标签控件概述 163

8.4.2 标签控件常用属性 163

8.4.3 利用标签控件实现鼠标交互效果 164

8.5 文本框控件(TextBox控件) 165

8.5.1 文本框控件概述 165

8.5.2 文本框控件常用属性、方法和事件 165

8.5.3 利用文本框控件实现用户登录 168

8.6 命令按钮控件(CommandButton控件) 169

8.6.1 命令按钮概述 169

8.6.2 命令按钮的常用属性和事件 169

8.6.3 利用命令按钮实现加载图片的功能 170

8.7 单选按钮、复选框及框架 171

8.7.1 单选按钮(OptionButton控件) 171

8.7.2 复选框(CheckBox控件) 173

8.7.3 框架(Frame控件) 173

8.7.4 设置字体显示效果 174

8.8 列表框控件(ListBox控件) 174

8.8.1 列表框控件概述 174

8.8.2 列表框控件常用属性、方法和事件 175

8.8.3 随机抽取列表框中数据 179

8.9 组合框控件(ComboBox控件) 179

8.9.1 组合框控件概述 179

8.9.2 组合框控件常用属性 179

8.10 滚动条控件(HScrollBar和VScrollBar控件) 181

8.10.1 滚动条控件概述 181

8.10.2 滚动条控件的属性和事件 181

8.10.3 利用滚动条浏览大幅图片 183

8.11 时钟控件(Timer控件) 184

8.11.1 Timer控件的属性和事件 184

8.11.2 利用Timer控件设计小游戏 184

8.12 练一练 185

8.12.1 使用ListBox控件选出打印项目 185

8.12.2 使两个文本框的内容同步 187

第9章 常用ActiveX控件 188

视频讲解:1小时38分钟

9.1 ActiveX控件的使用 188

9.1.1 ActiveX控件概述 188

9.1.2 注册ActiveX控件 188

9.1.3 添加ActiveX控件 190

9.1.4 删除ActiveX控件 191

9.2 图像列表控件(ImageList控件) 191

9.2.1 认识ImageList控件 191

9.2.2 添加图像 191

9.2.3 与其他控件关联 193

9.2.4 创建组合图像 195

9.3 视图控件(ListView控件) 195

9.3.1 认识ListView控件 195

9.3.2 添加数据 196

9.3.3 用ListView控件+数据表创建报表视图 197

9.3.4 用ListView控件创建大图标视图 198

9.4 树状控件(TreeView控件) 199

9.4.1 认识TreeView控件 200

9.4.2 添加数据 200

9.4.3 删除指定节点数据 201

9.4.4 节点展开与折叠 202

9.5 选项卡控件(SSTab控件) 202

9.5.1 认识SSTab控件 203

9.5.2 设置选项卡数目和行数 203

9.5.3 在选项卡中添加控件 204

9.5.4 运行时启用和停用选项卡 204

9.5.5 定制不同样式的选项卡 204

9.5.6 图形化选项卡 205

9.6 进度条控件(ProgressBar控件) 206

9.6.1 认识ProgressBar控件 206

9.6.2 显示进展情况 206

9.6.3 将Max属性设置为已知的界限 207

9.6.4 隐藏ProgressBar控件 207

9.6.5 用ProgressBar控件显示清空数据的进度 207

9.7 日期/时间控件(DateTimePicker控件) 208

9.7.1 认识DateTimePicker控件 208

9.7.2 设置和返回日期 209

9.7.3 实时读取DTPicker控件中的日期 209

9.7.4 使用CheckBox属性选择无日期 209

9.7.5 使用日期和时间的格式 210

9.7.6 使用DTPicker控件计算日期或天数 211

9.8 练一练 212

9.8.1 使用MaskEdBox控件限制日期输入格式 212

9.8.2 进度条循环滚动 213

9.8.3 使用MonthView控件设置系统日期 214

第10章 菜单 215

视频讲解:1小时8分钟

10.1 菜单介绍 215

10.1.1 概述 215

10.1.2 菜单的组成 215

10.1.3 菜单的状态 216

10.1.4 菜单编辑器 216

10.2 标准菜单 218

10.2.1 最简菜单 218

10.2.2 菜单无效状态 219

10.2.3 级联菜单 220

10.2.4 菜单分割条 221

10.2.5 复选菜单 221

10.2.6 菜单的快捷键和访问键 222

10.2.7 创建菜单数组 223

10.2.8 修饰菜单 224

10.2.9 为菜单事件添加代码 225

10.3 弹出式菜单 225

10.3.1 弹出式菜单概述 225

10.3.2 PopupMenu方法 226

10.3.3 弹出式菜单的设计和调用 226

10.3.4 利用弹出式菜单为无标题栏窗体添加菜单 227

10.4 练一练 230

10.4.1 在控件上单击右键弹出菜单 230

10.4.2 动态创建菜单 231

第11章 工具栏和状态栏 233

视频讲解:38分钟

11.1 工具栏设计 233

11.1.1 工具栏概述 233

11.1.2 利用Toolbar控件创建最简工具栏 234

11.1.3 为工具栏按钮添加图片 234

11.1.4 为工具栏按钮设置分组 235

11.1.5 为工具栏添加下拉菜单 236

11.1.6 给工具栏按钮添加事件处理代码 238

11.2 状态栏设计 239

11.2.1 状态栏概述 239

11.2.2 利用状态栏显示操作员信息 239

11.2.3 利用状态栏显示日期、时间 240

11.2.4 利用状态栏显示鼠标指针位置 240

11.3 练一练 241

11.3.1 带下拉菜单的工具栏 241

11.3.2 向工具栏中添加ComboBox控件 242

第12章 对话框 243

视频讲解:45分钟

12.1 输入对话框 243

12.2 消息对话框 244

12.3 公用对话框 246

12.3.1 公用对话框概述 246

12.3.2 “打开”对话框 248

12.3.3 “另存为”对话框 249

12.3.4 “颜色”对话框 250

12.3.5 “字体”对话框 251

12.3.6 “打印”对话框 252

12.3.7 “帮助”对话框 253

12.4 练一练 253

12.4.1 使用输入对话框输入运行变量 253

12.4.2 创建信息提示对话框 254

12.4.3 创建选择对话框 255

第13章 文件系统编程 256

视频讲解:1小时42分钟

13.1 文件的基本概念 256

13.1.1 文件的结构 256

13.1.2 文件的分类 256

13.1.3 文件处理的一般步骤 257

13.2 文件系统控件 257

13.2.1 驱动器列表框(DriveListBox控件) 257

13.2.2 目录列表框(DirListBox控件) 259

13.2.3 文件列表框(FileListBox控件) 260

13.2.4 文件系统控件的联动 262

13.3 顺序文件 263

13.3.1 顺序文件的打开与关闭 263

13.3.2 顺序文件的读取操作 264

13.3.3 顺序文件的写入操作 265

13.4 随机文件 266

13.4.1 随机文件的打开与关闭 266

13.4.2 读取随机文件 267

13.4.3 写入随机文件 267

13.5 二进制文件 268

13.5.1 二进制文件的打开与关闭 268

13.5.2 二进制文件的读取与写入操作 268

13.6 常用的操作文件语句与函数 269

13.6.1 常用的操作文件语句 269

13.6.2 常用的文件操作函数 272

13.7 练一练 275

13.7.1 将每次开机时间保存到指定文件 275

13.7.2 批量修改文件属性 275

第14章 图形图像技术 277

视频讲解:1小时16分钟

14.1 坐标系统 277

14.1.1 默认的坐标系统 277

14.1.2 自定义的坐标系统 277

14.2 图形图像中的颜色 279

14.2.1 QBColor函数 279

14.2.2 RGB函数 280

14.3 图形处理控件 280

14.3.1 Line控件 280

14.3.2 利用Line控件设计分割线 281

14.3.3 Shape控件 281

14.4 图像处理控件 282

14.4.1 Image控件 282

14.4.2 利用Image控件制作小动画 283

14.4.3 PictureBox控件 284

14.4.4 利用PictureBox控件浏览大幅图片 284

14.5 图形属性 286

14.5.1 使用CurrentX和CurrentY属性绘图坐标 286

14.5.2 使用BackColor和ForeColor属性设置背景色和前景色 287

14.5.3 使用FillColor和FillStyle属性设置填充效果 288

14.5.4 使用DrawWidth、DrawStyle和DrawMode属性设置绘制效果 289

14.5.5 使用BorderStyle、BorderWidth和BorderColor属性设置图形的边框效果 292

14.6 图形方法 294

14.6.1 使用Cls方法清屏 294

14.6.2 使用PSet方法画点 294

14.6.3 使用Point方法获取颜色值 295

14.6.4 使用Line方法画线 296

14.6.5 使用Circle方法画圆 297

14.6.6 使用PaintPicture方法绘制图形 298

14.7 图像处理函数 299

14.7.1 使用LoadPicture函数加载图像 299

14.7.2 使用SavePicture语句保存图片 300

14.8 练一练 301

14.8.1 图像反色处理 301

14.8.2 图像的合成 301

第3篇 高级篇

第15章 鼠标与键盘 304

视频讲解:56分钟

15.1 鼠标指针的设置 304

15.1.1 设置鼠标指针形状 304

15.1.2 设置鼠标指针为指定的图片 305

15.1.3 设置鼠标指针为指定的动画 306

15.1.4 设置窗体的鼠标样式 307

15.1.5 设置系统的鼠标样式 309

15.2 鼠标事件的响应 312

15.2.1 鼠标单击和双击事件(Click和DbClick事件) 312

15.2.2 鼠标按下和抬起(MouseDown和MouseUp事件) 313

15.2.3 鼠标移动事件(MouseMove事件) 314

15.3 拖放操作 315

15.3.1 与拖放相关的属性(DragMode和DragIcon属性) 315

15.3.2 与拖放相关的事件(DragDrop和DragOver事件) 316

15.3.3 与拖放相关的方法(Move和Drag方法) 318

15.4 键盘事件的响应 320

15.4.1 KeyDown事件和KeyUp事件的使用 320

15.4.2 KeyPress事件的使用 322

15.5 练一练 323

15.5.1 跟随鼠标指针飞翔的蝴蝶 323

15.5.2 避免按Enter键产生“嘀”声 324

15.5.3 按Enter键移动焦点 325

第16章 网络编程 327

视频讲解:39分钟

16.1 网络基础知识 327

16.1.1 OSI参考模型 327

16.1.2 HTTP协议 327

16.1.3 FTP协议 327

16.2 Winsock控件编程 328

16.2.1 TCP与UDP基础 328

16.2.2 Winsock控件 328

16.2.3 开发客户端/服务器端聊天程序 331

16.3 Internet Transfer控件编程 333

16.3.1 Internet Transfer控件 334

16.3.2 文件上传与下载 336

16.4 WebBrowser控件编程 338

16.4.1 WebBrowser控件 338

16.4.2 制作自己的浏览器 339

16.5 练一练 340

16.5.1 获得本机的计算机名 340

16.5.2 IPC$密码暴力破解 341

第17章 多媒体编程 343

视频讲解:37分钟

17.1 MMControl控件 343

17.1.1 认识MMControl控件 343

17.1.2 MMControl控件的属性 344

17.1.3 MMControl控件的事件 348

17.2 MediaPlay控件 349

17.2.1 认识MediaPlay控件 349

17.2.2 MediaPlay控件的属性 350

17.2.3 MediaPlay控件的方法 350

17.3 ShockwaveFlash控件 351

17.3.1 认识ShockwaveFlash控件 351

17.3.2 ShockwaveFlash控件的属性 352

17.3.3 ShockwaveFlash控件的方法 353

17.3.4 ShockwaveFlash控件的事件 353

17.4 Animation控件 353

17.4.1 认识Animation控件 354

17.4.2 Animation控件的属性 354

17.4.3 Animation控件的方法 354

17.5 练一练 356

17.5.1 播放WAV文件 356

17.5.2 播放GIF动画 356

第18章 SQL语言基础 358

视频讲解:1小时20分钟

18.1 SQL基础 358

18.1.1 什么是SQL 358

18.1.2 执行SQL语句的工具 358

18.2 检索数据(SELECT子句) 360

18.2.1 SELECT子句 360

18.2.2 检索单个列 361

18.2.3 检索多个列 361

18.2.4 检索所有列 362

18.3 排序检索数据(ORDER BY子句) 362

18.3.1 排序数据 362

18.3.2 按多个列排序 363

18.3.3 按列位置排序 363

18.3.4 指定排序方向 364

18.3.5 对新生成的列进行排序 364

18.4 过滤数据(WHERE子句) 365

18.4.1 使用WHERE子句 365

18.4.2 WHERE子句比较运算符 365

18.4.3 检索指定范围的值 366

18.4.4 模式条件查询 366

18.4.5 组合条件查询(AND、OR和NOT) 367

18.5 高级查询 368

18.5.1 汇总数据 368

18.5.2 分组统计 369

18.5.3 子查询 369

18.6 插入数据 370

18.6.1 插入完整的行 370

18.6.2 插入部分数据 370

18.6.3 插入检索出的数据 371

18.6.4 将一个表中的数据复制到另一个表 371

18.7 修改和删除数据 372

18.7.1 修改数据 372

18.7.2 删除数据 373

18.8 练一练 373

18.8.1 查询控件中的字符型数据 373

18.8.2 查询控件中的数值型数据 374

第19章 使用数据访问控件 377

视频讲解:1小时40分钟

19.1 Visual Basic访问数据库 377

19.2 ODBC 378

19.2.1 认识ODBC 378

19.2.2 配置ODBC数据源 378

19.3 Data控件 380

19.3.1 认识Data控件 380

19.3.2 用Data控件连接数据库 380

19.3.3 Data控件的综合应用 381

19.4 DAO对象 382

19.4.1 引用DAO对象 382

19.4.2 DAO对象的子对象 383

19.4.3 DAO对象的综合应用 387

19.5 ADO控件 390

19.5.1 认识ADO控件 390

19.5.2 用ADO控件连接各种数据源 391

19.5.3 用ADO控件连接记录源 392

19.5.4 ADO控件常用属性、方法和事件 393

19.5.5 ADO控件的综合应用 394

19.6 ADO对象 395

19.6.1 引用ADO对象 395

19.6.2 ADO对象的子对象 396

19.6.3 连接多种数据库(Connection对象) 396

19.6.4 连接记录源(Recordset对象) 398

19.6.5 执行SQL语句(Command对象) 399

19.6.6 ADO对象的综合应用 400

19.7 RDO控件(远程数据控件) 402

19.7.1 引用RDO控件到工程中 402

19.7.2 RDO控件与数据访问相关的属性 402

19.7.3 使用RDO控件连接远程数据库 403

19.8 数据库增、删、改、查技巧 404

19.8.1 存取字段数据的几种方法 404

19.8.2 使用数据绑定控件实现增、删、改 405

19.8.3 非绑定控件的增、删、改 407

19.8.4 使用ADO对象实现增、删、改 407

19.9 练一练 409

19.9.1 动态设置ADO控件的属性 409

19.9.2 在MSHFlexGrid控件中显示图片 409

19.9.3 将数据库中的表添加到ListView控件 410

第20章 数据库控件 412

视频讲解:1小时30分钟

20.1 DBCombo和DBList控件 412

20.2 DataCombo和DataList控件 413

20.2.1 认识DataCombo和DataList控件 413

20.2.2 DataCombo和DataList控件的属性 414

20.2.3 显示关系表中的数据 414

20.3 DataGrid控件 416

20.3.1 认识DataGrid控件 416

20.3.2 用DataGrid控件显示数据 416

20.3.3 格式化数据 418

20.3.4 锁定数据 418

20.3.5 将DataGrid控件中的数据显示在文本框中 419

20.4 MSFlexGrid和MSHFlexGrid控件 419

20.4.1 认识MSHFlexGrid控件 420

20.4.2 用MSHFlexGrid控件显示数据 420

20.4.3 数据排序与合并 422

20.4.4 隐藏行或列 423

20.4.5 冻结字段 423

20.5 练一练 424

20.5.1 使用DataCombo控件显示信息 424

20.5.2 用代码设置DataGrid控件的列标头 424

第21章 报表打印技术 426

视频讲解:1小时6分钟

21.1 添加数据环境对象 426

21.2 Connection对象 427

21.2.1 添加Connection对象 428

21.2.2 连接Connection对象 428

21.3 Command对象 429

21.3.1 创建Command对象 430

21.3.2 Command对象的层次结构 431

21.3.3 字段映射 436

21.4 DataReport报表 437

21.4.1 在工程中添加数据报表设计器 437

21.4.2 数据报表设计器简介 437

21.4.3 DataReport对象的属性和方法 438

21.4.4 设计简单的报表 440

21.5 练一练 441

21.5.1 使用数据环境对象Connection连接数据库 441

21.5.2 通过存储过程创建Command对象 442

第4篇 实战篇

第22章 在线考试系统 444

视频讲解:2小时40分钟

22.1 开发背景 444

22.2 系统分析 444

22.2.1 需求分析 444

22.2.2 可行性分析 445

22.3 系统设计 445

22.3.1 系统目标 445

22.3.2 系统功能结构 445

22.3.3 系统预览 446

22.3.4 业务流程图 447

22.4 数据库设计 448

22.4.1 数据库概要说明 448

22.4.2 数据库概念设计 448

22.4.3 数据库逻辑设计 449

22.5 公共模块设计 451

22.6 系统登录模块设计 454

22.6.1 系统登录模块概述 454

22.6.2 系统登录模块技术分析 454

22.6.3 系统登录模块实现过程 455

22.6.4 单元测试 458

22.7 主窗体设计 459

22.7.1 主窗体模块概述 459

22.7.2 主窗体技术分析 459

22.7.3 主窗体的实现过程 460

22.7.4 单元测试 463

22.8 考试窗体设计 464

22.8.1 考试窗体模块概述 464

22.8.2 考试窗体技术分析 464

22.8.3 考试窗体实现过程 466

22.9 后台管理员窗体设计 478

22.9.1 管理员窗体模块概述 478

22.9.2 管理员窗体技术分析 478

22.9.3 管理员窗体实现过程 479

22.10 修改试题窗体设计 481

22.10.1 修改试题窗体模块概述 481

22.10.2 修改试题窗体技术分析 482

22.10.3 修改试题窗体实现过程 483

22.10.4 单元测试 485

22.11 文件清单 485

附录A 代码编写规则 487

附录B Visual Basic内部函数 491