我想从qt 5.4 linux ubuntu os连接到一个mysql数据库,这是我的代码:
#include
#include
#include
#include
#include
#include
Server::Server()
{
//Data base
QSqlDatabase db = QSqlDatabase::addDatabase( "QMYSQL" );
qDebug() <
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个小时谷歌搜索寻找解决方案,我已经尝试了一切,没有结果 . 请帮忙 . 提前致谢 .