ubuntu Qt连接MySQL

来源:互联网 发布:知乎如果庄子诸葛亮 编辑:程序博客网 时间:2024/06/05 18:21
#include "widget.h"#include <QPluginLoader>#include <QSqlError>#include <QSqlDatabase>#include <QDebug>#include <QApplication>void loadMySqlDriver();int main(int argc, char *argv[]){    QApplication a(argc, argv);//    Widget w;//    w.show();    loadMySqlDriver();    qDebug()<<QSqlDatabase::drivers()<<endl; /*列出qt可用的数据库*/    /*     *链接mysql数据库     */    QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) );    db.setHostName("127.0.0.1");    db.setDatabaseName("contect_test");    db.setUserName("root");    db.setPassword("root");    if(!db.open())/*测试数据库是否链接成功*/    {//       QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text());       qDebug()<<db.lastError()<<endl;    }    else    {       qDebug()<<"Ok"<<endl;    }    return a.exec();}void loadMySqlDriver(){    QPluginLoader loader;    // MySQL 驱动插件的路径    loader.setFileName("/home/caesar/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so");    qDebug() << loader.load();    qDebug() << loader.errorString();}
当提示libmysqlclient_r.so.16 无法找到的时候,
可以先寻找一个本地有没有libmysqlclient_r.so的其他版本。
sudo find / -name libmysqlclient_r.so*

如果找到libmysqlclient_r.so.18,那就在所在文件夹做一个软连接
ln -s libmysqlclient_r.so.18 libmysqlclient_r.so.16

然后再运行以上代码,
OK---

如果仍然遇到问题,我们可以一起讨论。

0 1
原创粉丝点击