Qt中使用数据库

关于qt构建项目后需要返回上一级目录寻找debug

我们可以在项目设置中

点击项目

不要勾选即可

qt中设置成员变量怎么为其添加函数快捷键

答案:alt + enter

qt中使用数据库

1 在pro 文件中加入

QT += core gui sql

需要用到的头文件

#include <QSqlQuery> //与数据库打交道使用该头文件

#include <QSqlDatabase>

1第一步:第一步添加数据库 记住加上前缀Q 如果是mysql 就是 QMYSQL 记住大写

QSqlDatabase qsql = QSqlDatabase::addDatabase("QSQLITE");

2 ./ 在当前目录下 创建数据库 并命名

qsql.setDatabaseName("./stuinfo.db");

第三步判断是否打开

复制代码
if(!qsql.open())
    {
        QMessageBox::critical(NULL,"打开失败","ss");
    }

第四步开始 创建表 此时就要用到打交道的类了

创建表

使用完毕后记得关闭数据库

复制代码
QSqlQuery que;
    QString sql = QString("create table if  not exists tb_stuInfo(id int primary key not null,"
                          "name varchar (50),"
                          "sex varchar(2),"
                          "phone varhcar(11),"
                          "cet4 int,"
                          "gpa  real,"
                          "overllscore real);");

    if(!que.exec(sql))//判断执行是否成功
    {
        QMessageBox::critical(NULL,"wrong","执行错误");
        qDebug()<<que.lastQuery();
        return ;
    }
    qsql.close();//使用完后记得关闭数据库

QSqlQuery::next() 是 Qt 中 QSqlQuery 类的一个成员函数,用于在查询结果集中移动到下一行。当你执行了一个 SQL 查询并获取到了结果集后,你可以使用 next() 函数逐行遍历结果集。

QSqlQuery::next() 的作用:
移动游标:next() 函数会将内部的游标移动到结果集中的下一行。
返回值:如果成功移动到下一行,则返回 true;如果没有更多的行可移动,则返回 false。

QSqlQuery qu;
int id = qu.value("id").toInt();
        QString name = qu.value("name").toString();
        QString sex = qu.value("set").toString();
        QString phone  = qu.value("phone").toString();

qu 是一个 QSqlQuery 对象,
它代表了一个数据库查询的结果集。
这段代码的目的是从当前查询结果集中的当前行中获取名为 "cet4" 的列的值,
并将其转换为整数类型。*/

其他的一样  获取数据库set的值 将其值转换为string类型
相关推荐
用户805533698033 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner3 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz8 天前
QML Hello World 入门示例
qt
xcyxiner11 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner12 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner12 天前
DicomViewer (添加模型类)3
qt
xcyxiner13 天前
DicomViewer (目录调整) 2
qt
xcyxiner13 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00615 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术15 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript