Mysql连接Qt5.4
我想从qt 5.4 linux ubuntu操作系统连接到mysql数据库,这是我的代码:Mysql连接Qt5.4,qt,Qt,我想从qt 5.4 linux ubuntu操作系统连接到mysql数据库,这是我的代码: #include <QDebug> #include <QtSql/QSql> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlDriver> #include <QtSql/QSqlQuery> #include <QSqlError> Server::Server() { //
#include <QDebug>
#include <QtSql/QSql>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlQuery>
#include <QSqlError>
Server::Server()
{
//Data base
QSqlDatabase db = QSqlDatabase::addDatabase( "QMYSQL" );
qDebug() <<db.lastError().text();
db.setHostName( "localhost" );
db.setDatabaseName( "clientdb" );
db.setUserName( "root" );
db.setPassword( "" );
if(!db.open())
qDebug() << "No database connection!!" ;
else
qDebug() << "Database connected" ;
/* QSqlQuery qry(db);
qry.prepare( "CREATE TABLE IF NOT EXISTS clients (id INTEGER UNIQUE PRIMARY KEY, firstname VARCHAR(30))" );
if( !qry.exec() )
qDebug() << qry.lastError();
else
qDebug() << "Table created" ;
*/
// qry.prepare("INSERT INTO clients (id) VALUES (1)" );
db.close();
}
问题是db.open返回false,因此问题源是这一行QSqlDatabase db=QSqlDatabase::addDatabase QMYSQL。
我之前的错误是无法加载MYSQL驱动程序,但我解决了这个问题。
我试图将MYSQL驱动程序更改为SQLITE驱动程序,令人惊讶的是,它居然成功了!!
我不知道这个MYSQL驱动程序出了什么问题
我真的需要你的帮助,我花了9个小时在谷歌上搜索解决方案,我尝试了所有的方法,但都没有结果。
请帮忙。
提前谢谢。事实上这就是问题所在。我不知道在使用这个之前我应该先创建数据库 db.setDatabaseName clientdb;。 非常感谢 数据库clientdb是否存在?打开后调用QSQLDABASE::lastError