更新如何在linux下使用QTcreator 访问mariadb数据库

本文分享了在Linux平台下,解决Qt5访问MariaDB数据库遇到的*driver not loaded*错误的方法,通过安装特定的MySQL驱动,实现了QtCreator 4.2.0版本与MariaDB的稳定连接。同时,介绍了如何创建数据库用户并赋予权限,以及示例代码展示如何从Qt小程序读取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

根据网上攻略,安装mariadb数据库,并且顺利创建数据表。

但是使用QT小程序访问时,总是报错*driver not loaded*。经过查询说是mysql的驱动没安装。于是各种安装。总是不成功。

最好在一个帖子中,https://www.bbsmax.com/A/mo5keYYKzw/。。。中发现。。

如下所述:

 Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get install qt-sdk命令装的低版本的Qt5(如5.2.x)缺少MySQL驱动问题,如果你的Qt5版本为5.7.X,那么就不能用这种方法解决,

这个针对的时Qt5.并且得时低版本。我用的qtcreator恰好时 qtcreator4.2.0   。。对应的QT是5.7.1.结果安装之后,竟然可以了。lucky。。。

另外 mariadb 数据库安装之后,默认时root账户 并且没有密码。

CREATE USER 'pmauser'@'%' IDENTIFIED BY '123456';

 

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

用上面两句,创建了一个用户pmauser ,密码时123456.

这样就可以在code中,访问该数据库了。

code如下:

 

void MainWindow::on_pushButton_clicked(){
    //link with database.
    QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) );
    db.setHostName("localhost");
    db.setDatabaseName("mysql");
    db.setUserName("pmauser");
    db.setPassword("123456");
 
 
    if(!db.open())//测试数据库是否链接成功
    {
       QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text());
       qDebug()<<db.lastError()<<endl;
    }
    else
    {
       qDebug()<<"Ok"<<endl;
    }
 
    QSqlQuery query;
    QString sql="select * from user_info;";
    query.exec(sql);
    while(query.next())
    {
        qDebug()<<query.value(0).toString()<<query.value(1).toString()<<query.value(2).toString();
    }
    query.clear();
 
}
,就这样,可以访问我创建的数据库 mysql。里面的表 user_info。中的信息了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值