diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-08 12:31:36 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-08 12:31:36 -0600 |
commit | d796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch) | |
tree | 6e3dcca4f77e20ec8966c666aac7c35bd4704053 /examples/sql/overview/subclass5 | |
download | tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.tar.gz tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.zip |
Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731
Diffstat (limited to 'examples/sql/overview/subclass5')
-rw-r--r-- | examples/sql/overview/subclass5/main.cpp | 94 | ||||
-rw-r--r-- | examples/sql/overview/subclass5/main.h | 25 | ||||
-rw-r--r-- | examples/sql/overview/subclass5/subclass5.pro | 8 |
3 files changed, 127 insertions, 0 deletions
diff --git a/examples/sql/overview/subclass5/main.cpp b/examples/sql/overview/subclass5/main.cpp new file mode 100644 index 000000000..260ddaf2a --- /dev/null +++ b/examples/sql/overview/subclass5/main.cpp @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for TQt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#include "main.h" +#include <qdatatable.h> + +InvoiceItemCursor::InvoiceItemCursor() : + TQSqlCursor( "invoiceitem" ) +{ + TQSqlFieldInfo productName( "productname", TQVariant::String ); + append( productName ); + setCalculated( productName.name(), TRUE ); + + TQSqlFieldInfo productPrice( "price", TQVariant::Double ); + append( productPrice ); + setCalculated( productPrice.name(), TRUE ); + + TQSqlFieldInfo productCost( "cost", TQVariant::Double ); + append( productCost ); + setCalculated( productCost.name(), TRUE ); +} + + +TQVariant InvoiceItemCursor::calculateField( const TQString & name ) +{ + + if ( name == "productname" ) { + TQSqlQuery query( "SELECT name FROM prices WHERE id=" + + field( "pricesid" )->value().toString() ); + if ( query.next() ) + return query.value( 0 ); + } + else if ( name == "price" ) { + TQSqlQuery query( "SELECT price FROM prices WHERE id=" + + field( "pricesid" )->value().toString() ); + if ( query.next() ) + return query.value( 0 ); + } + else if ( name == "cost" ) { + TQSqlQuery query( "SELECT price FROM prices WHERE id=" + + field( "pricesid" )->value().toString() ); + if ( query.next() ) + return TQVariant( query.value( 0 ).toDouble() * + value( "quantity").toDouble() ); + } + + return TQVariant( TQString::null ); +} + + +TQSqlRecord *InvoiceItemCursor::primeInsert() +{ + TQSqlRecord *buffer = editBuffer(); + TQSqlQuery query( "SELECT NEXTVAL( 'invoiceitem_seq' )" ); + if ( query.next() ) + buffer->setValue( "id", query.value( 0 ) ); + buffer->setValue( "paiddate", TQDate::currentDate() ); + buffer->setValue( "quantity", 1 ); + + return buffer; +} + + +int main( int argc, char *argv[] ) +{ + TQApplication app( argc, argv ); + + if ( createConnections() ) { + InvoiceItemCursor invoiceItemCursor; + + TQDataTable *invoiceItemTable = new TQDataTable( &invoiceItemCursor ); + + app.setMainWidget( invoiceItemTable ); + + invoiceItemTable->addColumn( "productname", "Product" ); + invoiceItemTable->addColumn( "price", "Price" ); + invoiceItemTable->addColumn( "quantity", "Quantity" ); + invoiceItemTable->addColumn( "cost", "Cost" ); + invoiceItemTable->addColumn( "paiddate", "Paid" ); + + invoiceItemTable->refresh(); + invoiceItemTable->show(); + + return app.exec(); + } + + return 1; +} diff --git a/examples/sql/overview/subclass5/main.h b/examples/sql/overview/subclass5/main.h new file mode 100644 index 000000000..6f3a0edca --- /dev/null +++ b/examples/sql/overview/subclass5/main.h @@ -0,0 +1,25 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for TQt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#include <qapplication.h> +#include <qdatetime.h> +#include <qsqldatabase.h> +#include <qsqlcursor.h> +#include "../connection.h" + +class TQSqlRecord; + +class InvoiceItemCursor : public TQSqlCursor +{ + public: + InvoiceItemCursor(); + TQSqlRecord *primeInsert(); + protected: + TQVariant calculateField( const TQString & name ); +}; diff --git a/examples/sql/overview/subclass5/subclass5.pro b/examples/sql/overview/subclass5/subclass5.pro new file mode 100644 index 000000000..a6cd8cb47 --- /dev/null +++ b/examples/sql/overview/subclass5/subclass5.pro @@ -0,0 +1,8 @@ +TEMPLATE = app + +CONFIG += qt warn_on release + +REQUIRES = full-config + +HEADERS = +SOURCES = main.cpp ../connection.cpp |