summaryrefslogtreecommitdiffstats
path: root/tools/designer/examples/book/book7/editbook.ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/designer/examples/book/book7/editbook.ui.h')
-rw-r--r--tools/designer/examples/book/book7/editbook.ui.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/designer/examples/book/book7/editbook.ui.h b/tools/designer/examples/book/book7/editbook.ui.h
new file mode 100644
index 0000000..f955312
--- /dev/null
+++ b/tools/designer/examples/book/book7/editbook.ui.h
@@ -0,0 +1,42 @@
+void EditBookForm::init()
+{
+ QSqlQuery query( "SELECT surname FROM author ORDER BY surname;" );
+ while ( query.next() )
+ ComboBoxAuthor->insertItem( query.value( 0 ).toString());
+}
+
+void EditBookForm::beforeUpdateBook( QSqlRecord * buffer )
+{
+ QSqlQuery query( "SELECT id FROM author WHERE surname ='" +
+ ComboBoxAuthor->currentText() + "';" );
+ if ( query.next() )
+ buffer->setValue( "authorid", query.value( 0 ) );
+}
+
+void EditBookForm::primeInsertBook( QSqlRecord * buffer )
+{
+ QSqlQuery query;
+ query.exec( "UPDATE sequence SET sequence = sequence + 1 WHERE tablename='book';" );
+ query.exec( "SELECT sequence FROM sequence WHERE tablename='book';" );
+ if ( query.next() ) {
+ buffer->setValue( "id", query.value( 0 ) );
+ }
+}
+
+void EditBookForm::primeUpdateBook( QSqlRecord * buffer )
+{
+ // Who is this book's author?
+ QSqlQuery query( "SELECT surname FROM author WHERE id='" +
+ buffer->value( "authorid" ).toString() + "';" );
+ QString author = "";
+ if ( query.next() )
+ author = query.value( 0 ).toString();
+ // Set the ComboBox to the right author
+ for ( int i = 0; i < ComboBoxAuthor->count(); i++ ) {
+ if ( ComboBoxAuthor->text( i ) == author ) {
+ ComboBoxAuthor->setCurrentItem( i ) ;
+ break;
+ }
+ }
+}
+