16,216
社区成员
发帖
与我相关
我的任务
分享
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QtDebug>
#include <QSqlRecord>
#include <QSqlField>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "memory");
db.setDatabaseName(":memory:");
if ( db.open() ) {
qDebug()<<"open database succeeded";
QSqlQuery query(db);
if ( query.exec("create table testme(id int, name varchar(32));") ) {
qDebug()<<"Create table succeeded";
query.exec("insert into testme values(1, \'aaa\');");
query.exec("insert into testme values(2, \'bbb\');");
query.exec("select * from testme;");
while(query.next()) {
qDebug()<<"id="<<query.record().field("id").value().toInt()<<",name="<<query.record().field("name").value().toString();
}
query.exec("with xx as (select id,name from testme)select * from xx;");
qDebug()<<"with clause";
while(query.next()) {
qDebug()<<"id="<<query.record().field("id").value().toInt()<<",name="<<query.record().field("name").value().toString();
}
}
else {
qDebug()<<"Create table failed";
}
}
return a.exec();
}
结果:
open database succeeded
Create table succeeded
id= 1 ,name= "aaa"
id= 2 ,name= "bbb"
with clause
id= 1 ,name= "aaa"
id= 2 ,name= "bbb"