2015-02-22 2 views
0

Я пытался подключить mysql с Qt 5.2.1. Я запустил программу, но получил ошибкуОшибка драйвера не найдена в Qt

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
QSqlDatabase: QMYSQL driver not loaded  
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7 

Это означает, что у вас есть драйвер плагин MySql для Qt, но, вероятно, у вас нет клиента LIB MySql (libmysqlclient.so).
Итак, убедитесь, что у вас есть libmysqlclient.so в вашем пути к библиотеке. Для проверки зависимостей использования плагина:
objdump -p /PathToQt/plugins/sqldrivers/libqsqlmysql.so | grep NEEDED

+0

Да, точно, у меня нет этого файла. Как я могу получить этот файл? – Cherry

+0

Установите MySql или MariaDB. –

+0

MySql уже установлен. Я могу создавать таблицы и запускать команды sql на терминале. Но не удалось найти файл выше по адресу – Cherry

Смежные вопросы