acllib 2022-05-04 17:44 采纳率: 60%
浏览 60
已结题

qt操作mysql进行查询出现错误如何解决

代码如下:
mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget* parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //打印qt支持的数据库驱动
    qDebug() << QSqlDatabase::drivers();

    //添加MySql数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    //连接数据库
    db.setHostName("127.0.0.1");  //数据库服务器IP
    db.setUserName("root");    //数据库用户名
    db.setPassword("123456");  //密码
    db.setDatabaseName("test");  //使用哪个数据库
    //打开数据库
    if(db.open() == false)
    {
        QMessageBox::warning(this, "错误", db.lastError().text());
        return;
    }
    //操作sql语句
    QSqlQuery query;
    query.exec("create table if not exists student(id int primary key, name varchar(255), age int, score int);");
    //query.exec("insert into student(id, name, age, score) values(1, 'mike', 18, 59);");
    query.exec("select * from student");
    while(true == query.next())     //一行一行遍历
    {
        //取出当前行的内容,以列为单位
        qDebug() << query.value(0).toInt()  //取第一列
                 << query.value(1).toString() //取第二列
                 << query.value("age").toInt()  //按名字查找
                 << query.value("score").toInt();
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}

报错:

img

测试发现,这个问题似乎只在查询后才会出现,

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月12日
    • 修改了问题 5月4日
    • 修改了问题 5月4日
    • 创建了问题 5月4日

    悬赏问题

    • ¥15 内存地址视频流转RTMP
    • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
    • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
    • ¥15 有没有整苹果智能分拣线上图像数据
    • ¥20 有没有人会这个东西的
    • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
    • ¥30 航迹分离,航迹增强,误差分析
    • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
    • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
    • ¥15 LLM accuracy检测