第一部分 使用工具 2
第一章 面向Access、SQL Server开发者和DBA的MySQL 2
1.1 为什么应该使用MySQL 2
1.2 许可证书颁发 2
1.3 数据类型:MySQL与Access 2000和SQL Server 7的对比 3
1.4 MySQL缺少什么 4
1.4.1 GUI:“休斯顿,我们只有命令行” 5
1.4.2 交易 5
1.4.3 存储程序和指针 6
1.4.4 触发器 6
1.4.6 记录等级锁定 7
1.4.5 增强外部密钥参照完整性 7
1.4.7 子选项 8
1.4.8 被命名的视图 8
1.5 MySQL、MYSQL和mysql——它们是不同的 8
1.6 只对Access转换:Daemons和服务 10
1.7 从哪里得到MySQL 11
1.8 确定安装方法:Pros和Cons 11
1.8.1 RPM:最快和最容易的方法 11
1.8.2 Binary 12
1.8.3 源文件——只适用于专家 12
1.9 RPM安装需要用到什么 12
1.10 安装 13
1.11 快速浏览:创建、访问和撤销数据库 16
1.12 MySQL的非标准的或者独特的SQL结构(对于ANSISQL92的扩展部分) 18
1.13 应用于MySQL的工具和程序 21
1.14 MySQL的CAPI 27
1.14.1 在工作时,不要尝试 27
1.14.2 编译和链接 30
1.14.3 Makefiles 31
第二章 面向VB开发者的GTK+ 32
2.1 为什么应该使用GTK+ 32
2.2 在哪里获得GTK+及如何安装它 33
2.3 证书颁发 33
2.4.1 GTK+程序步骤 34
2.4 GTK+概述 34
2.4.2 对象等级 35
2.4.3 Gilb和GDK 35
2.4.4 窗口部件,不是控件 36
2.4.5 发送信号和回调信号 36
2.4.6 Hello World程序 37
2.4.7 Hello World程序编译 38
2.4.8 gtk-config 38
2.4.9 VB的作为GtkWindow Plus GtkFixed或GtkLayout的再生格式 39
2.4.10 GTK+窗口部件不需要“Tab次序”调整 40
2.5 GTK+尺寸恢复控件容器 40
2.5.1 GtkVBox和GtkHBox窗口部件 40
2.5.2 GtkTable窗口部件 40
2.6 基本的窗口部件过程——作为一个程序 41
2.5.3 GtkWindow 41
第三章 更多的GTK+窗口部件 69
3.1 GtkCombo窗口部件 69
3.2 GtkProgressBar和GtkProgressBar窗口部件 74
3.3 GtkFrame和GtkAspectFrame 82
3.4 GtkDialog、GtkFileSeleciton、GtkColorSelectionDialog和GtkFontSelectionDialog 87
3.5 Menu窗口部件、ItemFactory和Popup Menu窗口部件 95
第四章 高级GTK+布局窗口部件 106
4.1 GtkTable 106
4.2 GtkTree和GtkCTree 112
4.3 GtkFixed 118
4.4 GtkLayout 121
4.5 GtkScrolledWindow 123
4.6 GtkNotebook 126
4.7 GtkPaned 130
第五章 面向VB开发者的Glade 133
5.1 关于Glade 133
5.1.1 为什么要采用Glade 133
5.1.2 如何获得与安装Glade 133
5.1.3 证书颁发 134
5.2 使用Glade完成Hello World程序 134
5.2.1 逐步创建Hello World程序 134
5.2.2 编译和运行 140
5.3 Hello World文件剖析 142
5.3.1 main.c 142
5.3.2 interface.c 143
5.3.3 support.c 145
5.3.4 callbacks.c 148
5.3.5 HelloWorld.glade 149
5.4 使用窗口部件的Glade 151
5.4.1 Project窗口 151
5.4.2 调色板窗口 152
5.4.3 属性窗口 153
5.5 项目设计:了解你的项目层次 154
5.6 在Glade中的窗口到窗口的通讯 155
5.6.1 利用交叉窗口窗口部件通讯 155
5.6.2 lookup_widget()函数 155
5.6.3 一个简单的示例 155
5.7 全局变量和好的软件项目 159
第二部分 现实世界的应用程序 161
第六章 定单表摘要和设计 161
6.1 问题定义和设计焦点 161
6.1.1 硬件说明 161
6.1.2 网络信息 162
6.1.3 已有数据信息 162
6.1.4 已有过程说明 162
6.1.5 预期的过程 162
6.1.6 软件预期特征 163
6.2 用户界面 163
6.2.1 客户设计格式:frm_main 163
6.2.3 查询窗口 165
6.2.2 为定单选择条目:frm_items_ordered 165
6.3 创建数据库 166
6.4 配置应用程序 169
6.5 更新你的应用程序 173
第七章 构建SESI定单表应用程序 174
7.1 使用Glade构建用户接口 174
7.1.1 从frm_main项目开始 174
7.1.2 填写frm_main的左边 175
7.1.3 填充frm_main的右半部 176
7.1.4 完成frm_main用户接口 177
7.1.5 为frm_main设置事件 178
7.1.6 创建frm_items_ordered 180
7.1.7 填充frm_items_ordered的右边 181
7.1.8 为frm_items_ordered设置事件 182
7.2 应用程序的应用函数 183
7.2.1 创建sesi_utils.c 184
7.2.2 完成sesi_utils.c 222
7.3 连接接口到应用函数 224
7.3.1 callbacks.c 224
7.3.2 main.c 236
7.4 编译程序 237
7.5 项目事后剖析 237
第八章 佣金计算摘要和设计 240
8.1 问题定义 240
8.1.3 现存的数据信息 241
8.1.2 安全问题 241
8.1.1 最终用户信息 241
8.1.4 工作流程说明 242
8.2 用户接口 242
8.2.1 登录屏幕:frm_login 242
8.2.2 表显示格式:frm_table_display 243
8.2.3 处理佣金表单:frm_commissions 244
8.3 数据库和登录安装 246
8.4 创建数据库 247
第九章 构建佣金应用程序 255
9.1 使用Glade构建用户接口(UI) 255
9.1.2 创建frm_commissions 256
9.1.1 创建frm_login 256
9.2 数据显示控件(DDC) 259
9.3 应用程序的实用函数 262
9.3.1 头、日志和信息通讯函数 263
9.3.2 登录和口令函数 266
9.3.3 主要数据处理函数 272
9.4 callbacks.c 299
9.5 工程事后剖析 308
第十章 佣金计算 310
10.1 从命令行编译 310
10.2 使用make的好处 311
10.3 部署应用程序 312
10.3.1 手动安装GNOME“开始栏” 312
10.3.2 使用命令解释程序脚本安装GNOME“开始栏” 315
10.3.3 在Makefile文件中添加“安装”目标 316
10.3.4 创建一个RPM文件 318
10.3.5 快速浏览RPM的“Spec”文件 322
10.4 使用MS VC++为Win32编译 322
10.4.1 搜集需要的文件 323
10.4.2 配置项目并且编译 323
10.4.3 配置Windows可执行文件 326
10.4.4 项目工作空间文件 327
11.1.1 安全问题 331
11.1.2 现存数据信息 331
11.1 问题定义 331
第十一章 管理报表摘要和设计 331
11.2 用户接口 332
11.2.1 登录屏幕——frm_reports 332
11.2.2 报表1:表格报表——销售员等级 332
11.2.3 报表2:饼图——销售额划分 333
11.2.4 报表3:条形图——相对于配额的年销售趋势 334
11.2.5 报表4:散点图——在数字数据中寻找相关性 335
11.3 数据库和登录名安装 335
11.4 创建数据库 336
第二十章 管理报表构建 339
12.1 问题定义 339
12.2 控制应用程序:KBI 339
12.3 报表1:列表 351
12.4 报表2:饼图 358
12.5 报表2:条形/线形图 369
12.6 报表4:散点图 378
第十三章 编译KBI应用程序 388
13.1 通过RPM编译和发布 388
13.1.1 makefiles文件 388
13.1.2 RPM spec文件 391
13.2 利用Win32的MinGW编译 394
13.2.1 什么是MinGW 394
13.2.2 所需的文件和URL 394
13.2.3 安装和编译指导 395
14.1 HelloWorld! 401
第十四章 XML动态用户接口控制 401
第三部分 例子 401
14.2 交叉窗口通信 406
14.3 改变应用程序,而不重新编译 415
第四部分 附录 418
附录A SESI定单应用程序产生的Glade文件 418
附录B WCA产生的Glade文件 501
附录C 主要商务指示器应用程序产生的Glade文件 561
C.1 KBI文件 561
C.2 列表文件 566
C.3 饼图文件 572
C.4 条形/线形图文件 577
C.5 散点图文件 581