<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt - 3.3.8 - espenr - 2499/qt - x11 - free - 3.3.8/examples/sql/sqltable/sqltable.doc:11 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > SQL Table< / title >
< style type = "text/css" > < ! - -
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
-->< / style >
< / head >
< body >
< table border = "0" cellpadding = "0" cellspacing = "0" width = "100%" >
< tr bgcolor = "#E5E5E5" >
< td valign = center >
< a href = "index.html" >
< font color = "#004faf" > Home< / font > < / a >
| < a href = "classes.html" >
< font color = "#004faf" > All Classes< / font > < / a >
| < a href = "mainclasses.html" >
< font color = "#004faf" > Main Classes< / font > < / a >
| < a href = "annotated.html" >
< font color = "#004faf" > Annotated< / font > < / a >
| < a href = "groups.html" >
< font color = "#004faf" > Grouped Classes< / font > < / a >
| < a href = "functions.html" >
< font color = "#004faf" > Functions< / font > < / a >
< / td >
< td align = "right" valign = "center" > < img src = "logo32.png" align = "right" width = "64" height = "32" border = "0" > < / td > < / tr > < / table > < h1 align = center > SQL Table< / h1 >
< p >
This example shows how to use a < a href = "ntqdatatable.html" > TQDataTable< / a > to browse data in a SQL database.
< p > < hr >
< p > Implementation:
< p > < pre > /****************************************************************************
**
** Copyright (C) 1992-2007 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 < < a href = "qapplication-h.html" > ntqapplication.h< / a > >
#include < < a href = "qsqldatabase-h.html" > ntqsqldatabase.h< / a > >
#include < < a href = "qdatatable-h.html" > ntqdatatable.h< / a > >
#include < < a href = "qsqlcursor-h.html" > ntqsqlcursor.h< / a > >
#include < < a href = "qmessagebox-h.html" > ntqmessagebox.h< / a > >
/* Modify the following to match your environment */
#define DRIVER "TQSQLITE" /* see the TQt SQL documentation for a list of available drivers */
#define DATABASE ":memory:" /* the name of your database */
#define USER "" /* user name with appropriate rights */
#define PASSWORD "" /* password for USER */
#define HOST "" /* host on which the database is running */
class SimpleCursor : public < a href = "ntqsqlcursor.html" > TQSqlCursor< / a >
{
public:
SimpleCursor () : < a href = "ntqsqlcursor.html" > TQSqlCursor< / a > ( "simpletable" ) {}
protected:
< a href = "ntqsqlrecord.html" > TQSqlRecord< / a > * primeInsert()
{
/* a real-world application would use sequences, or the like */
< a name = "x2453" > < / a > < a href = "ntqsqlrecord.html" > TQSqlRecord< / a > * buf = TQSqlCursor::< a href = "ntqsqlcursor.html#primeInsert" > primeInsert< / a > ();
< a href = "ntqsqlquery.html" > TQSqlQuery< / a > q( "select max(id)+1 from simpletable" );
if ( q.< a href = "ntqsqlquery.html#next" > next< / a > () )
< a name = "x2464" > < / a > buf-> < a href = "ntqsqlrecord.html#setValue" > setValue< / a > ( "id", q.< a href = "ntqsqlquery.html#value" > value< / a > (0) );
return buf;
}
};
int main( int argc, char ** argv )
{
< a href = "ntqapplication.html" > TQApplication< / a > a( argc, argv );
< a name = "x2454" > < / a > < a href = "ntqsqldatabase.html" > TQSqlDatabase< / a > * db = TQSqlDatabase::< a href = "ntqsqldatabase.html#addDatabase" > addDatabase< / a > ( DRIVER );
< a name = "x2457" > < / a > db-> < a href = "ntqsqldatabase.html#setDatabaseName" > setDatabaseName< / a > ( DATABASE );
< a name = "x2460" > < / a > db-> < a href = "ntqsqldatabase.html#setUserName" > setUserName< / a > ( USER );
< a name = "x2459" > < / a > db-> < a href = "ntqsqldatabase.html#setPassword" > setPassword< / a > ( PASSWORD );
< a name = "x2458" > < / a > db-> < a href = "ntqsqldatabase.html#setHostName" > setHostName< / a > ( HOST );
< a name = "x2456" > < / a > if( !db-> < a href = "ntqsqldatabase.html#open" > open< / a > () ){
< a name = "x2455" > < / a > db-> < a href = "ntqsqldatabase.html#lastError" > lastError< / a > ().showMessage( "An error occured. Please read the README file in the sqltable"
"dir for more information.\n\n" );
return 1;
}
< a name = "x2461" > < / a > if (!db-> < a href = "ntqsqldatabase.html#tables" > tables< / a > ().contains("simpletable")) {
< a href = "ntqsqlquery.html" > TQSqlQuery< / a > q("create table simpletable(id int, name varchar(20), address varchar(20))", db);
}
SimpleCursor cursor;
< a href = "ntqdatatable.html" > TQDataTable< / a > table( & cursor ); /* data table uses our cursor */
< a name = "x2451" > < / a > table.< a href = "ntqdatatable.html#addColumn" > addColumn< / a > ( "name", "Name" );
table.< a href = "ntqdatatable.html#addColumn" > addColumn< / a > ( "address", "Address" );
< a name = "x2465" > < / a > table.< a href = "ntqtable.html#setSorting" > setSorting< / a > ( TRUE );
a.< a href = "ntqapplication.html#setMainWidget" > setMainWidget< / a > ( & table );
< a name = "x2452" > < / a > table.< a href = "ntqdatatable.html#refresh" > refresh< / a > (); /* load data */
table.< a href = "ntqwidget.html#show" > show< / a > (); /* show widget */
return a.< a href = "ntqapplication.html#exec" > exec< / a > ();
}
< / pre >
< p > < p > See also < a href = "sql-examples.html" > TQt SQL Examples< / a > .
<!-- eof -->
< p > < address > < hr > < div align = center >
< table width = 100% cellspacing = 0 border = 0 > < tr >
< td > Copyright © 2007
< a href = "troll.html" > Trolltech< / a > < td align = center > < a href = "trademarks.html" > Trademarks< / a >
< td align = right > < div align = right > TQt 3.3.8< / div >
< / table > < / div > < / address > < / body >
< / html >