summaryrefslogtreecommitdiffstats
path: root/tools/designer/examples/book/connection.cpp
blob: 710f50c7f36d76864d6a0aef37cb2b872b373ddf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/****************************************************************************
**
** Copyright (C) 1992-2008 Trolltech ASA.  All rights reserved.
**
** This file is part of an example program for Qt.  This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include <qsqldatabase.h>
#include "connection.h"

bool createConnections()
{
    // create the default database connection
    QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( DB_BOOKS_DRIVER );
    defaultDB->setDatabaseName( DB_BOOKS );
    defaultDB->setUserName( DB_BOOKS_USER );
    defaultDB->setPassword( DB_BOOKS_PASSWD );
    defaultDB->setHostName( DB_BOOKS_HOST );
    if ( ! defaultDB->open() ) { 
	qWarning( "Failed to open books database: " + 
		  defaultDB->lastError().driverText() );
	qWarning( defaultDB->lastError().databaseText() );
	return FALSE;
    }

    QSqlQuery q(QString::null, defaultDB);
    q.exec("CREATE TABLE author ( id integer primary key, "
	   "forename varchar(40), surname varchar(40) )");
    q.exec("CREATE TABLE book ( id integer primary key, "
	   "title varchar(40), price numeric(10,2), authorid integer, notes varchar(255) )");

    q.exec("CREATE TABLE sequence ( tablename varchar(10), sequence numeric)");

    q.exec("INSERT INTO author VALUES ( 0, 'Philip K', 'Dick' )");
    q.exec("INSERT INTO author VALUES ( 1, 'Robert', 'Heinlein' )");
    q.exec("INSERT INTO author VALUES ( 2, 'Sarah', 'Paretsky' )");

    q.exec("INSERT INTO book VALUES (0, 'The Man Who Japed', 6.99, 0, 'A good book' )");
    q.exec("INSERT INTO book VALUES (1, 'The Man in the High Castle', 9.99, 0, 'Worth reading' )");
    q.exec("INSERT INTO book VALUES ( 2, 'The Number of the Beast', 8.99, 1, 'Get this!' )");
    q.exec("INSERT INTO book VALUES ( 3, 'Indemnity Only', 9.99, 2, 'Cool' )");
    q.exec("INSERT INTO book VALUES ( 4, 'Burn Marks', 9.99, 2, 'Need to make notes' )");
    q.exec("INSERT INTO book VALUES ( 5, 'Deadlock', 9.99, 2, 'Hmmm..' )");

    q.exec("INSERT INTO sequence VALUES ( 'author', 2 )");
    q.exec("INSERT INTO sequence VALUES ( 'book', 5 )");

    return TRUE;
}