在ubuntu下使用Qt5.4连接mysql数据库出现错误
2015-12-16 11:28
771 查看
在ubuntu下使用Qt5.4连接mysql数据库出现错误,
运行以上代码后出现提示,
但是查找ubuntu的文件并没有找到版本为16的库,
将libmysqlclient_r.so.18 拷贝一份并 重命名 我们需要的 libmysqlclient_r.so.16 , 放置在 /usr/lib/i386-linux-gnu/ 目录下 ;
再次运行程序,发现连接数据库成功.
如果不成功,将库所在目录添加到环境变量中。
全部代码如下
void Widget::loadMySqlDriver() { QPluginLoader loader; // MySQL 驱动插件的路径 // loader.setFileName("/Users/Biao/Qt5.4.0/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib"); loader.setFileName("/home/caesar/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so"); qDebug() << loader.load(); qDebug() << loader.errorString(); }
运行以上代码后出现提示,
但是查找ubuntu的文件并没有找到版本为16的库,
将libmysqlclient_r.so.18 拷贝一份并 重命名 我们需要的 libmysqlclient_r.so.16 , 放置在 /usr/lib/i386-linux-gnu/ 目录下 ;
再次运行程序,发现连接数据库成功.
如果不成功,将库所在目录添加到环境变量中。
全部代码如下
#include "widget.h"
#include <QPluginLoader>
#include <QDebug>
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQuery>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
this->loadMySqlDriver();
this->connect();
}
Widget::~Widget()
{
}
void Widget::loadMySqlDriver() { QPluginLoader loader; // MySQL 驱动插件的路径 // loader.setFileName("/Users/Biao/Qt5.4.0/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib"); loader.setFileName("/home/caesar/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so"); qDebug() << loader.load(); qDebug() << loader.errorString(); }
void Widget::connect()
{
QSqlDatabase db =
QSqlDatabase::addDatabase("QMYSQL", "Connection_Name");
db.setDatabaseName("qt");
db.setHostName("127.0.0.1");
db.setUserName("root");
db.setPassword("root");
if (!db.open()) {
qDebug() << "Connect to MySql error: " << db.lastError().text();
return;
}
QSqlQuery query(db);
query.exec("SELECT * FROM user");
while (query.next()) {
qDebug() << query.value("username").toString();
}
}
相关文章推荐
- Qt中如何获取某个控件的指针地址
- 关于Qt版本与安装
- 如何打印Qt中的枚举所对应的字符串
- Qt 事件过滤器问题
- Qt下使用QDebug打印指针地址
- 创建自定义Qt类型
- Qt 使用#define+qDebug()输出调试信息
- 【Qt程序】基于Qt词典开发系列<十二>呼叫讲述
- PyQt5教程(七)——控件(II)
- Qt中网络编程(网络接口,TCP,UDP)
- qt中的toUtf8, toLatin1, Local8bit, toUcs4
- Qt-Q_INIT_RESOURCE
- Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
- Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
- MQTT入门(玩)
- QT5.5移植全攻略【转】
- Qt中常用快捷键
- Qt串行通信库 QextSerialPort需要注意的问题 便签
- Ubuntu12.04+QtCreator2.3.0+Qt4.8.1+opencv2.4.9(一)
- Qt动态布局,多个窗口使用同一个widget如何实现。