From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- examples/sql/overview/subclass3/main.cpp | 57 +++++++++++++++++++++++++++ examples/sql/overview/subclass3/main.h | 25 ++++++++++++ examples/sql/overview/subclass3/subclass3.pro | 8 ++++ 3 files changed, 90 insertions(+) create mode 100644 examples/sql/overview/subclass3/main.cpp create mode 100644 examples/sql/overview/subclass3/main.h create mode 100644 examples/sql/overview/subclass3/subclass3.pro (limited to 'examples/sql/overview/subclass3') diff --git a/examples/sql/overview/subclass3/main.cpp b/examples/sql/overview/subclass3/main.cpp new file mode 100644 index 0000000..84f62ec --- /dev/null +++ b/examples/sql/overview/subclass3/main.cpp @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** 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 "main.h" +#include + +InvoiceItemCursor::InvoiceItemCursor() : + QSqlCursor( "invoiceitem" ) +{ + QSqlFieldInfo productName( "productname", QVariant::String ); + append( productName ); + setCalculated( productName.name(), TRUE ); +} + + +QVariant InvoiceItemCursor::calculateField( const QString & name ) +{ + if ( name == "productname" ) { + QSqlQuery query( "SELECT name FROM prices WHERE id=" + + field( "pricesid" )->value().toString() ); + if ( query.next() ) + return query.value( 0 ); + } + + return QVariant( QString::null ); +} + + +int main( int argc, char *argv[] ) +{ + QApplication app( argc, argv ); + + if ( createConnections() ) { + InvoiceItemCursor invoiceItemCursor; + + QDataTable *invoiceItemTable = new QDataTable( &invoiceItemCursor ); + + app.setMainWidget( invoiceItemTable ); + + invoiceItemTable->addColumn( "productname", "Product" ); + invoiceItemTable->addColumn( "quantity", "Quantity" ); + invoiceItemTable->addColumn( "paiddate", "Paid" ); + + invoiceItemTable->refresh(); + invoiceItemTable->show(); + + return app.exec(); + } + + return 1; +} diff --git a/examples/sql/overview/subclass3/main.h b/examples/sql/overview/subclass3/main.h new file mode 100644 index 0000000..d84344a --- /dev/null +++ b/examples/sql/overview/subclass3/main.h @@ -0,0 +1,25 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include "../connection.h" + +class QSqlRecord; + +class InvoiceItemCursor : public QSqlCursor +{ + public: + InvoiceItemCursor(); + protected: + QVariant calculateField( const QString & name ); +}; + + diff --git a/examples/sql/overview/subclass3/subclass3.pro b/examples/sql/overview/subclass3/subclass3.pro new file mode 100644 index 0000000..a6cd8cb --- /dev/null +++ b/examples/sql/overview/subclass3/subclass3.pro @@ -0,0 +1,8 @@ +TEMPLATE = app + +CONFIG += qt warn_on release + +REQUIRES = full-config + +HEADERS = +SOURCES = main.cpp ../connection.cpp -- cgit v1.2.1