1.1 Where We've Been and Where We
Are Going
1.2 Not a GUI Tutorial
1.3 Client-Server Full Circle.
1.4 Today's Cross Platform Challenge.
1.5 Why Ubuntu?
1.6 Why Qt?
Table 1: Qt Database Drivers
1.7 A Tale of Two Market Segments
1.8 The Mutant-Ninja Data Model
1.9 Exercises
Cautionary Information
2.1 Scope of This Chapter
2.2 Development Restrictions
2.3 Building a Qt Program
2.4 The Database Username Restriction
2.5 Garbage Collection Restrictions
2.6 More Database Issues
2.7 Pitfalls of Mandatory Passwords
2.8 Database Frailty
2.9 Main.cpp for What?
2.10 Transaction Integrity
2.11 SQL != SQL
2.12 Lassie Might Not Come Home
2.13 Consistently Inconsistent
2.14 Just Because You Found It, That Doesn't Mean It is
There
2.15 To tr() Or Not to tr()?
2.16 You Might be Optically Isolated
2.17 What? You Want to Create a Database?
2.18 Exercises
PostgreSQL and Qt
3.1 Scope of This Chapter.
3.2 Installing and Configuring PostgreSQL
3.3 Designer
3.4 Inserting Into a PostgreSQL Table
3.5 Our Flow and Why
3.6 qDebug or QMessageBox
3.7 Error Handling for Remote Support
3.8 Plug-in vs. Compile In Database Interfaces
3.9 Logging On
3.10 Hidden Signal and Slot Connections
3.11 Reading a Text File
3.12 Our Main Window
3.13 Reporting
3.14 The Boolean Issue Again
3.15 Browsing Database Records
3.16 Follow Up
3.17 Backup Via CSV
3.18 Assignment One
3.19 Assignment Two
3.20 Assignment Three
3.21 Assignment Four
3.22 Assignment Five
3.23 Assignment Six
3.24 Assignment Seven
3.25 Assignment Eight
3.26 Assignment Nine
3.27 Exercises
Firebird and Qt
4.1 Why Firebird?
4.2 Differences
4.3 Obtaining and Installing Firebird
4.4 Quirks Between Flavors
4.5 Creating Users
4.6 Creating Databases
4.7 Aliases
4.8 No Boolean
4.9 QIBASE Not Provided by Default
4.10 CSV Import and Export Part 1
4.11 Console Applications and IDEs
4.12 #!/bin/sh
4.13 Some Serious SQL Differences
4.14 CSV Import and Export Part 2
4.15 xpnsfb
4.16 Programming Assignment 1
4.17 Programming Assignment 2
4.18 Programming Assignment 3
4.19 Programming Assignment 4
4.20 Programming Assignment 5
4.21 Programming Assignment 6
4.22 Firebird Server Version Follow-up
4.23 Deploying This Contraption
4.24 Firebird Summary
4.25 Exercises
SQLite and Qt
5.1 Pros and Cons
5.2 Which SQLite?
5.3 Monkey Studio
5.4 Programming Assignment 1
5.5 Programming Assignment 2
5.6 Programming Assignment 3
5.7 Programming Assignment 4
5.8 Programming Assignment 5
5.9 Our Application with Eclipse
5.10 Programming Assignment 4
5.11 Programming Assignment 5
5.12 Programming Assignment 6
5.13 Building Static vs. Plugin
5.14 SQLite Follow-up
5.15 Exercises
Ruminations and Observations
6.1 CTRL-Y, CTRL-L, and ANSI
6.2 Plug-in vs. Static Compile
6.3 What Database is Right for Your Application?
6.4 Unstart
6.5 Outages and Support
6.6 Ubuntu's Original Sin
6.7 Qt's Achilles Heel
6.8 Package Maintainer vs. Marketing Fraud
6.9 Code What You Know
6.10 Thursdays When It Rains
6.11 Bitflags