我试图将mysql与Qt 5.2.1连接起来。我运行了一个程序但得到了错误
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
我在终端上运行以下命令来解决问题。
sudo apt-get install libqt5sql5-mysql
但问题仍然没有解决。
代码如下。
#include <QtGui>
#include <QtSql/QSql>
#include <QTableWidget>
#include <QApplication>
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlRecord>
#include <QtSql/QSqlDriver>
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QTableWidget* table = new QTableWidget();
table->setWindowTitle("Connect to Mysql Database Example");
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
qDebug()<<"abc";
db.setHostName("192.168.11.3");
db.setDatabaseName("menudb");
db.setUserName("root");
db.setPassword("test");
if (!db.open())
{
QMessageBox::critical(0, QObject::tr("Database Error"),
db.lastError().text());
}
QSqlQuery query("SELECT * FROM test");
table->setColumnCount(query.record().count());
table->setRowCount(query.size());
int index=0;
while (query.next())
{
table->setItem(index,0,new QTableWidgetItem(query.value(0).toString()));
table->setItem(index,1,new QTableWidgetItem(query.value(1).toString()));
index++;
}
table->show();
qDebug()<<"charu";
return app.exec();
}
请帮我解决问题。
答案 0 :(得分:0)
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
这意味着你有Qt的MySql插件驱动程序,但可能你没有MySql客户端lib(libmysqlclient.so)。
因此,请确保您的库路径中有libmysqlclient.so。
要检查插件的依赖关系,请使用:
objdump -p /PathToQt/plugins/sqldrivers/libqsqlmysql.so |需要grep