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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
package Connection;
use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtSql4;
=begin
This file defines a helper function to open a connection to an
in-memory SQLITE database and to create a test table.
If you want to use another database, simply modify the code
below. All the examples in this directory use this function to
connect to a database.
=cut
# [0]
sub createConnection
{
my $db = Qt::SqlDatabase::addDatabase('QSQLITE');
$db->setDatabaseName(':memory:');
if (!$db->open()) {
Qt::MessageBox::critical(0, qApp->tr('Cannot open database'),
qApp->tr("Unable to establish a database connection.\n" .
'This example needs SQLite support. Please read ' .
'the Qt SQL driver documentation for information how ' .
"to build it.\n\n" .
'Click Cancel to exit.'), Qt::MessageBox::Cancel());
return 0;
}
my $query = Qt::SqlQuery();
$query->exec("create table person (id int primary key, " .
"firstname varchar(20), lastname varchar(20))");
$query->exec("insert into person values(101, 'Danny', 'Young')");
$query->exec("insert into person values(102, 'Christine', 'Holand')");
$query->exec("insert into person values(103, 'Lars', 'Gordon')");
$query->exec("insert into person values(104, 'Roberto', 'Robitaille')");
$query->exec("insert into person values(105, 'Maria', 'Papadopoulos')");
$query->exec("create table offices (id int primary key," .
"imagefile int," .
"location varchar(20)," .
"country varchar(20)," .
"description varchar(100))");
$query->exec("insert into offices " .
"values(0, 0, 'Oslo', 'Norway'," .
"'Oslo is home to more than 500 000 citizens and has a " .
"lot to offer.It has been called \"The city with the big " .
"heart\" and this is a nickname we are happy to live up to.')");
$query->exec("insert into offices " .
"values(1, 1, 'Brisbane', 'Australia'," .
"'Brisbane is the capital of Queensland, the Sunshine State, " .
"where it is beautiful one day, perfect the next. " .
"Brisbane is Australia''s 3rd largest city, being home " .
"to almost 2 million people.')");
$query->exec("insert into offices " .
"values(2, 2, 'Redwood City', 'US'," .
"'You find Redwood City in the heart of the Bay Area " .
"just north of Silicon Valley. The largest nearby city is " .
"San Jose which is the third largest city in California " .
"and the 10th largest in the US.')");
$query->exec("insert into offices " .
"values(3, 3, 'Berlin', 'Germany'," .
"'Berlin, the capital of Germany is dynamic, cosmopolitan " .
"and creative, allowing for every kind of lifestyle. " .
"East meets West in the metropolis at the heart of a " .
"changing Europe.')");
$query->exec("insert into offices " .
"values(4, 4, 'Munich', 'Germany'," .
"'Several technology companies are represented in Munich, " .
"and the city is often called the \"Bavarian Silicon Valley\". " .
"The exciting city is also filled with culture, " .
"art and music. ')");
$query->exec("insert into offices " .
"values(5, 5, 'Beijing', 'China'," .
"'Beijing as a capital city has more than 3000 years of " .
"history. Today the city counts 12 million citizens, and " .
"is the political, economic and cultural centre of China.')");
$query->exec("create table images (locationid int, file varchar(20))");
$query->exec("insert into images values(0, 'images/oslo.png')");
$query->exec("insert into images values(1, 'images/brisbane.png')");
$query->exec("insert into images values(2, 'images/redwood.png')");
$query->exec("insert into images values(3, 'images/berlin.png')");
$query->exec("insert into images values(4, 'images/munich.png')");
$query->exec("insert into images values(5, 'images/beijing.png')");
return 1;
}
# [0]
1;
|