[Qt-interest] A Question about Sqlite in Qt
Scott Aron Bloom
Scott.Bloom at sabgroup.com
Thu Jun 11 06:25:53 CEST 2009
-----Original Message-----
From: qt-interest-bounces at trolltech.com
[mailto:qt-interest-bounces at trolltech.com] On Behalf Of Kermit Mei
Sent: Wednesday, June 10, 2009 7:26 PM
To: qt-interest at trolltech.com
Subject: [Qt-interest] A Question about Sqlite in Qt
Hello,all, I firstly use QSQLite with Qt4, and I don't know how to get a
sql sentence's result. My code is like this :
Firstly, in Linux command Line I use mytestdb like this:
$ sqlite3 mytestdb
SQLite version 3.6.10
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from person where id='1010' or id='10000';
1010|Danny|Young
10000|Danny|Young
The result is OK. But in Qt I can't get it. This is my Qt code, please
help me to know what's wrong with my program:
#include <QApplication>
#include "connection.h"
#include <iostream>
#include <ctime>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./mytestdb");
if (!db.open()) {
std::cerr << "Unable to establish a database connection.\n";
return 1;
}else
std::cerr << "Establish a database connection.\n";
QSqlQuery query;
int i = time(0);
query.exec("select * from person where id='1010' or id='10000'");
i = time(0) - i;
std::cerr << "Time you used is: " << i << " seconds to get it!" <<
std::endl;
std::cerr << query.isValid() << std::endl;
return app.exec();
}
-----------------
If the exec returns true, then do the following:
While( query.next() ) // moves the cursor to the first record
{
QVaraint first = query.value( 0 );
QVaraint third = query.value( 1 );
QVaraint second = query.value( );
}
Look at the methods on QSqlQuery
Scott
More information about the Qt-interest-old
mailing list