Cover image for MySQL : building user interfaces
MySQL : building user interfaces
Stucky, Matthew.
Personal Author:
First edition.
Publication Information:
Indianapolis, Ind. : New Riders, [2002]

Physical Description:
xix, 632 pages : illustrations ; 23 cm
General Note:
Includes index.
Format :


Call Number
Material Type
Home Location
Item Holds
QA76.73.S67 S78 2002 Adult Non-Fiction Non-Fiction Area

On Order



In MySQL, Paul DuBois provides you with a comprehensive guide to one of the most popular relational database systems. Paul has contributed to the online documentation for MySQL, and is an active member of the MySQL community. The principal MySQL developer, Monty Widenius, and a network of his fellow developers reviewed the manuscript, providing Paul with the kind of insight no one else could supply. Instead of merely giving you a general overview of MySQL, Paul teaches you how to make the most of its capabilities. Through two sample database applications that run throughout the book, he gives you solutions to problems you're sure to face. He helps you integrate MySQL efficiently with third-party tools, such as PHP and Perl, enabling you to generate dynamic Web pages through database queries. He teaches you to write programs that access MySQL databases, and also provides a comprehensive set of references to column types, operators, functions, SQL syntax, MySQL programming, C API, Perl DBI, and PHP API. MySQL simply gives you the kind of information you won't find anywhere else.

Author Notes

Matthew Stucky was born and raised in Colorado. He graduated from the University of Colorado in 1990 and served four years in the U.S. Navy as an officer. Soon after release from active duty, he enrolled at the University of West Florida to obtain a master's degree in software engineering, graduating in the summer of 1998. By that time he had worked as a Novell LAN administrator and an Access, VB, and SQL Server developer. Since then he has worked for Dimensional Insight ( as a consultant, utilizing a wide variety of tools, including all manner of databases, operating systems, and software. He still maintains that the best thing about UWF was the football team go War Snails!

Table of Contents

I Quick and Dirtyp. 1
1 MySQL for Access and SQL Server Developers and DBAsp. 3
Why You Should Use MySQLp. 4
Licensing Issuesp. 4
Datatypes: MySQL Compared to Access 2000 and SQL Server 7p. 5
What MySQL Lacksp. 7
MySQL, MYSQL, and mysql--They're Not the Same Thingp. 12
For Access Converts Only: Daemons and Servicesp. 15
Where to Get MySQLp. 16
Deciding On an Installation Method: Pros and Consp. 17
What to Get for RPM Installationp. 18
Installationp. 19
The Whirlwind Tour: Creating, Accessing, and Dropping a Databasep. 23
Nonstandard or Unique SQL Constructs in MySQL (Extensions to ANSI SQL92)p. 25
Utilities and Programs for MySQLp. 30
MySQL's C APIp. 39
2 GTK+ for VB Developersp. 45
Why You Should Use GTK+p. 46
Where to Get GTK+ and How to Install Itp. 47
Licensing Issuesp. 47
GTK+ Overviewp. 49
GTK+ Containers as Resizer Controlsp. 56
The Basic Widget Tour--As a Programp. 57
3 More GTK+ Widgetsp. 83
The GtkCombo Widgetp. 83
The GtkProgressBar and GtkStatusBar Widgetsp. 88
GtkFrame and GtkAspectFramep. 96
GtkDialog, GtkFileSelection, GtkColorSelectionDialog, and GtkFontSelectionDialogp. 100
Menu Widget, ItemFactory, and Popup Menu Widgetsp. 109
4 Advanced GTK+ Layout Widgetsp. 119
GtkTablep. 119
GtkTree and GtkCTreep. 125
GtkFixedp. 131
GtkLayoutp. 134
GtkScrolledWindowp. 136
GtkNotebookp. 138
GtkPanedp. 142
5 Glade for VB Developersp. 147
About Gladep. 147
Diving Right In: HelloWorld Done with Gladep. 149
HelloWorld Files Dissectedp. 158
Glade by the Widgetsp. 167
Project Design: Knowing Your Object Hierarchyp. 171
Window-to-Window Communication in a Glade Projectp. 172
Global Variables and Good Software Engineeringp. 178
II Real World Implementationsp. 181
Project 1 Order Entry, a Simple Transactional Application
6 Order Entry Abstract and Designp. 183
Problem Definition and Design Issuesp. 184
User Interfacep. 187
Creating the Databasep. 191
Deploying the Applicationp. 194
Upgrading the Applicationp. 198
7 Construction of the SESI Order Entry Applicationp. 199
User Interface Construction with Gladep. 200
Utility Functions of the Applicationp. 212
Connecting the Interface to the Utility Functionsp. 252
Compiling the Programp. 263
Project Post-Mortemp. 264
Project 2 Worldwide Commissions Application
8 Commission Calculations Abstract and Designp. 267
Problem Definitionp. 268
User Interfacep. 271
Database and Login Setupp. 276
Creating the Databasep. 277
9 Constructing the Commissions Applicationp. 285
User Interface (UI) Construction with Gladep. 285
The Data Display Control (DDC)p. 291
Utility Functions of the Applicationp. 294
The "Glue": callbacks.cp. 328
Project Post-Mortemp. 336
10 Commission Calculations Deploymentp. 339
Compiling from the Command Linep. 339
The Benefits of Using Makep. 340
Deploying the Applicationp. 342
Compiling for Win32 Using MS VC++p. 355
Project 3 Management Reporting, Key Business Indicators
11 Management Reporting Abstract and Designp. 365
Problem Definitionp. 365
User Interfacep. 366
Database and Login Setupp. 370
Creating the Databasep. 371
12 Management Reporting Constructionp. 375
Problem Definitionp. 375
The Controlling Application: KBIp. 376
Report 1 Tabularp. 387
Report 2 Pie Chartp. 393
Report 3 Bar/Line Chartp. 404
Report 4 Scatter Plotp. 412
13 Compiling the Key Business Indicators Applicationp. 423
Compiling and Distributing via an RPMp. 423
Compiling with MinGW for Win32p. 429
III Examplep. 437
14 Dynamic User Interface Control with XMLp. 439
HelloWorld!...One More Timep. 439
Cross-Window Communicationp. 445
Changing the Application Without Recompilingp. 454
IV Appendixesp. 457
A Glade-Generated Files from the SESI Order Applicationp. 459
interface.cp. 460
sesi.gladep. 489
B Glade-Generated Files from the Worldwide Commissions Applicationp. 535
interface.cp. 535
ssi.gladep. 555
C Glade-Generated Files from the Key Business Indicators Applicationp. 591
KBI Filesp. 591
Tabular Filesp. 596
Pie Chart Filesp. 601
bar_line Filesp. 606
Scatter Plot Filesp. 609
Indexp. 619