加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

QT中简单使用SQLITE数据库

发布时间:2020-12-12 19:57:10 所属栏目:百科 来源:网络整理
导读:QT中简单使用SQLITE数据库 代码:mian.cpp [cpp] view plain copy print ? #includeQtCore/QCoreApplication #includeQtSql #includeQDebug int main( int argc, char *argv[]) { QCoreApplicationa(argc,argv); QSqlDatabasedb=QSqlDatabase::addDatabase(
QT中简单使用SQLITE数据库

代码:mian.cpp

[cpp] view plain copy print ?
  1. #include<QtCore/QCoreApplication>
  2. #include<QtSql>
  3. #include<QDebug>
  4. intmain(intargc,char*argv[])
  5. {
  6. QCoreApplicationa(argc,argv);
  7. QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");
  8. db.setDatabaseName("/tmp/my.db");
  9. if(!db.open())
  10. {
  11. qDebug()<<"opendatabasefailed---"<<db.lastError().text()<<"/n";
  12. return-1;
  13. }
  14. QSqlQueryquery;
  15. boolok=query.exec("CREATETABLEIFNOTEXISTSpeople(idINTEGERPRIMARYKEYAUTOINCREMENT,"
  16. "nameVARCHAR(20)NOTNULL,"
  17. "ageINTEGERNULL)");
  18. if(ok)
  19. qDebug()<<"ceatetablepartitionsuccess/n";
  20. else
  21. qDebug()<<"ceatetablepartitionfailed/n";
  22. for(inti=0;i<3;++i)
  23. query.prepare("INSERTINTOpeople(id,name,age)VALUES(:id,:name,:age)");
  24. query.bindValue(":name",QString("smith_%1").arg(i+1));
  25. query.bindValue(":age",20+i*5);
  26. query.exec();
  27. }
  28. //QSqlQueryquery;
  29. query.exec("SELECTid,ageFROMpeople");
  30. while(query.next())
  31. qDebug()<<"people("<<query.value(0).toInt()<<")name:"<<query.value(1).toString()<<"age:"<<query.value(2).toInt();
  32. returna.exec();
  33. }

sql.pro:

?
    QT+=coresql
  1. QT-=gui
  2. TARGET=sql
  3. CONFIG+=console
  4. CONFIG-=app_bundle
  5. LIBS+=-lsqlite3
  6. TEMPLATE=app
  7. SOURCES+=main.cpp

编译运行,输出:

ceate table partition success

people( 1 ) name: "smith_1" age: 20

people( 2 ) name: "smith_2" age: 25

people( 3 ) name: "smith_3" age: 30

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读