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

 

根据网上攻略,安装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。中的信息了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值