一、加载sql驱动
修改项目文件pro,添加
QT += sql
包含头文件
#include
加载数据库驱动
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);
}
三、插入数据库
// 插入数据user
query.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;
}
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/wyansai/article/details/52901166
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
发表于 2020-02-02 19:28
阅读 ( 156 )
分类:数据库