QT-数据库操作(以MYSQL为例)
来源:互联网 发布:如何删除知乎回答 编辑:程序博客网 时间:2024/06/05 01:13
转载自:http://blog.csdn.net/wyansai/article/details/52901166
一、加载sql驱动
修改项目文件pro,添加:
QT += sql
包含头文件:
#include <QtSql>
加载数据库驱动:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
设置账号密码:
db.setHostName("localhost");db.setDatabaseName("hibernate");db.setUserName("root");db.setPassword("");if(!db.open()){ qDebug() << "数据库操作失败";return;}
二、查询语言
执行查询语句:
QSqlQuery query;bool success = query.exec("select * from user");if(!success){ qDebug() << "查询user失败";return;}
获取表的数据结构信息,即字段名相关信息:
QSqlRecord rec = query.record();qDebug() << "user表的字段总数为:" << rec.count();
获取查询结果集:
// 将查询的结果集指针调整到最开始query.seek(-1);while(query.next()){ qDebug() << query.value(0) << query.value(1) << query.value(2);}
三、插入数据库
// 插入数据userquery.prepare("insert into user values(?,?,?)");query.bindValue(1,"kanrong");query.bindValue(2,12);success = query.exec();if(!success){ QSqlError lastError = query.lastError(); qDebug() << "插入失败:" << lastError.driverText() << lastError.databaseText();return;}
四、更新数据库
操作和插入一样
五、删除
直接使用query.exec(sql)即可。
六、新建表
QSqlQuery query;bool success = false;success= query.exec("create table if not exists user(id integer primary key autoincrement not null, username varchar, age int);");if(!success){ qDebug() << "新建表user失败"; QSqlError lastError = query.lastError(); qDebug() << "插入失败:" << lastError.driverText() << lastError.databaseText(); return;}
阅读全文
0 0
- QT-数据库操作(以MYSQL为例)
- QT-数据库操作(以MYSQL为例)
- Qt 读取数据库配置文件类(以MySQL为例)
- spring boot数据库操作(以mysql为例)
- Oracle数据库几个基本操作(以9.2为例)
- java 数据库操作(以javaDB为例)
- DAO操作--以MySQL为例
- MyEclipse连接打开数据库(以mysql为例)
- 数据库中的连接(以mysql为例)
- pandas和数据库进行交互(以mysql为例)
- 数据库中视图相关(以mysql为例)
- 数据库触发器相关(以mysql为例)
- 数据库事件相关(以MYSQL为例)
- android链接数据库,以mysql为例
- mysql为例,操作数据库(一)
- QT数据库学习和以连接Access为例
- QT中操作数据库(ACCESS、MySql)
- QT中操作数据库(ACCESS、MySql)
- JQuery DataTable 使用教程
- SQL优化
- C#学习笔记-explicit关键字
- SSM整合 -- 在Eclipse怎么创建一个Maven项目
- spring 模板引擎
- QT-数据库操作(以MYSQL为例)
- 第一次使用Java写pat
- 继承,super,this关键字及构造器
- Android使用Java Mail发送邮件
- 利用fiddler将本地网页放到某个域下
- 修改自己git的别名
- 防止 Android 内存泄漏的 8 种方法
- input和select在设置同样的宽度下长度不一。
- CAN总线(一)