[QT] SQLite操作
来源:互联网 发布:python实现推荐系统 编辑:程序博客网 时间:2024/06/16 08:04
在工程配置文件中加入sql:
QT += core sql
先随意贴一段代码:
#include <QCoreApplication>#include <QtSql/QtSql>#include <error.h>#include <QDateTime>int main(int argc, char *argv[]){ // 设置加载库目录,设置为从当前目录plugins下加载 // 为什么要加载?因为sql属于plugins,程序在加载plugins时 // 会自动到安装路径下查找,但是如果到别人电脑上,就没有你安装qt的源码库了 // 所以我们可以将qt源码库下的plugins目录复制到可执行程序同目录下 // 然后通过添加LibraryPath来让程序在当前目录下查找 QCoreApplication::addLibraryPath("./plugins"); // 设置数据库驱动类型 // QT支持:QPSQL,QMYSQL,QOCI,QODBC,QDB2,QTDS,QSQLITE,QIBASE QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); // 设置数据库名,他会从当前目录进行加载 db.setDatabaseName("BMJZ.db"); // 打开数据库 if (!db.open()){ perror("db open fail:"); return -1; } // 为什么选择在QCoreApplication/QApplication上面加载数据库? // 因为在整个程序中,我们只用加载一次数据库即可。 // 后面对数据库的操作,只需借助QSqlQuery进行。 QCoreApplication a(argc, argv); // 所有数据库的操作可以借助QSqlQuery进行操作 QSqlQuery query; // 一般命令的执行方式 bool ok = query.exec("INSERT INTO tb_log (ID,DIRECTORY, CREATE_DATE)" "VALUES (4,'Hello World','2222/2/22 22:22:22');"); if(!ok){ perror("insert tb_log fail:"); } // 这种数据库插入的方法比较实用 for (int i = 0; i< 3; ++i) { query.prepare("INSERT INTO tb_log (ID,DIRECTORY, CREATE_DATE) VALUES (:ID, :DIRECTORY, :CREATE_DATE)"); query.bindValue(":ID",QString::number(i+2)); query.bindValue(":DIRECTORY", QString("smith_%1").arg(i+1)); query.bindValue(":CREATE_DATE", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")); query.exec(); } // 这种数据查找结果也是比较实用 query.exec("SELECT ID, DIRECTORY, CREATE_DATE FROM tb_log"); while (query.next()){ printf("%d\t%s\t%s\n", query.value(0).toInt(), query.value(1).toString().toStdString().c_str(), query.value(2).toString().toStdString().c_str()); } // 获取程序退出 int ret = a.exec(); //释放数据库 db.close(); db.removeDatabase("BMJZ.db"); return ret;}
关于qt数据库使用技巧,如果是整个程序有多个类来操作数据库。那么我们可以在qt的main函数里面进行数据库初始化和退出。
而需要对数据进行操作的,则直接在类中调用QSqlQuery对数据表进行操作。
关于SQLite的操作,可以参看http://www.runoob.com/sqlite/sqlite-c-cpp.html
这里有对sqlite的相信命令。
0 0
- Qt操作SQLite数据库
- QT 操作Sqlite数据库
- QT操作Sqlite数据库
- Qt 操作sqlite总结
- qt操作sqlite数据库
- Qt SQLite数据库操作
- [QT] SQLite操作
- Qt--操作sqlite总结
- qt sqlite数据库操作
- QT 操作数据库SQLite实例
- Qt封装SQLite的操作
- Qt操作SQLITE简单例子
- QT Sqlite BLOB类型操作
- C#连接操作SQLite and QT连接操作SQLite
- QT实现对sqlite数据库的操作
- Qt之操作数据库(SQLite)
- Qt之操作数据库(SQLite)
- 二 Qt之Sqlite数据库操作
- eclipse提示class file editor source not found的解决方法
- 极客学院单线程爬虫py3.x版本
- Spark RDD详解
- LoadRunner的安装与卸载须知
- ViewPager 详解(一)---基本入门
- [QT] SQLite操作
- 面试常问的问题解决
- ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 脚本的区别和启动加载顺序
- 视频图像处理基础知识0(双线性插值算法进行图像缩放)
- 客户端连接服务器,出现“Sql不存在或拒绝访问”。客户端可以Ping通服务器IP,网上邻居不能访问
- Android复习之基本的viewpager的使用
- JavaWeb学习总结(二)_服务器的学习和使用
- Android Private Libraries、Referenced Libraries、android Dependency详解
- ubuntu 生成 git ssh