#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---
如果仍然遇到问题,我们可以一起讨论。