QT 与 MySQL 连接的问题
connection.h:
#ifndef CONNECTION_H
#define CONNECTION_H
#include <qsqldatabase.h>
inline bool createOneConnection()
{
QSqlDatabase *db;
db = QSqlDatabase::addDatabase("QMYSQL3");
db->setHostName("127.0.0.1");
db->setDatabaseName("qttest");
db->setUserName("root");
if (!db->open()) {
db->lastError().showMessage();
return false; }
return false;
}
return true;
}
#endif
main.cpp:
#include <qapplication.h>
#include <qsqldatabase.h>
#include "connection.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
if (createOneConnection())
return 1;
QSqlQuery query;
query.exec("CREATE TABLE artist ("
"id INTEGER PRIMARY KEY, "
"name VARCHAR(40) NOT NULL, "
"country VARCHAR(40))");
query.exec("CREATE TABLE cd ("
"id INTEGER PRIMARY KEY, "
"artistid INTEGER NOT NULL, "
"title VARCHAR(40) NOT NULL, "
"year INTEGER NOT NULL)");
query.exec("CREATE TABLE track ("
"id INTEGER PRIMARY KEY, "
"cdid INTEGER NOT NULL, "
"number INTEGER NOT NULL, "
"title VARCHAR(40) NOT NULL, "
"duration INTEGER NOT NULL)");
#if 1
query.exec("INSERT INTO artist "
"VALUES (1001, 'Gluecifer', 'Norway')");
query.exec("INSERT INTO artist "
"VALUES (1002, 'The Sounds', 'Sweden')");
query.exec("INSERT INTO artist "
"VALUES (1003, 'Melvins', 'USA')");
query.exec("INSERT INTO artist "
"VALUES (1004, 'Strapping Young Lads', 'Canada')");
query.exec("INSERT INTO cd "
"VALUES (2001, 1001, 'Riding the Tiger', 1997)");
query.exec("INSERT INTO cd "
"VALUES (2002, 1001, 'Easy Living', 2002)");
query.exec("INSERT INTO cd "
"VALUES (2003, 1002, 'Living in America', 2002)");
query.exec("INSERT INTO cd "
"VALUES (2004, 1003, 'Bullhead', 1991)");
query.exec("INSERT INTO cd "
"VALUES (2005, 1003, 'Stag', 1996)");
query.exec("INSERT INTO cd "
"VALUES (2006, 1003, 'Hostile Ambient Takeover', "
"2002)");
query.exec("INSERT INTO cd "
"VALUES (2007, 1003, '26 Songs', 2003)");
query.exec("INSERT INTO cd "
"VALUES (2008, 1004, 'City', 1997)");
query.exec("INSERT INTO cd "
"VALUES (2009, 1004, 'No Sleep Till Bedtime', "
"1998)");
query.exec("INSERT INTO cd "
"VALUES (2010, 1004, 'Syl', 2003)");
query.exec("INSERT INTO track "
"VALUES (3001, 2004, 01, 'Boris', 514)");
query.exec("INSERT INTO track "
"VALUES (3002, 2004, 02, 'Anaconda', 143)");
query.exec("INSERT INTO track "
"VALUES (3003, 2004, 03, 'Ligature', 229)");
query.exec("INSERT INTO track "
"VALUES (3004, 2004, 04, 'It''s Shoved', 155)");
query.exec("INSERT INTO track "
"VALUES (3005, 2004, 05, 'Zodiac', 254)");
query.exec("INSERT INTO track "
"VALUES (3006, 2004, 06, 'If I Had An Exorcism', "
"187)");
query.exec("INSERT INTO track "
"VALUES (3007, 2004, 07, 'Your Blessed', 339)");
query.exec("INSERT INTO track "
"VALUES (3008, 2004, 08, 'Cow', 271)");
#endif
return 0;
}
运行时弹出对话框:Driver not loaded Driver not loaded.
实在不知道是什么原因。
为什么QT与MySQl连不上呢?
在网上看到很多人问这个问题,可是没人答得出来,
还望高手不吝赐教.
#ifndef CONNECTION_H
#define CONNECTION_H
#include <qsqldatabase.h>
inline bool createOneConnection()
{
QSqlDatabase *db;
db = QSqlDatabase::addDatabase("QMYSQL3");
db->setHostName("127.0.0.1");
db->setDatabaseName("qttest");
db->setUserName("root");
if (!db->open()) {
db->lastError().showMessage();
return false; }
return false;
}
return true;
}
#endif
main.cpp:
#include <qapplication.h>
#include <qsqldatabase.h>
#include "connection.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
if (createOneConnection())
return 1;
QSqlQuery query;
query.exec("CREATE TABLE artist ("
"id INTEGER PRIMARY KEY, "
"name VARCHAR(40) NOT NULL, "
"country VARCHAR(40))");
query.exec("CREATE TABLE cd ("
"id INTEGER PRIMARY KEY, "
"artistid INTEGER NOT NULL, "
"title VARCHAR(40) NOT NULL, "
"year INTEGER NOT NULL)");
query.exec("CREATE TABLE track ("
"id INTEGER PRIMARY KEY, "
"cdid INTEGER NOT NULL, "
"number INTEGER NOT NULL, "
"title VARCHAR(40) NOT NULL, "
"duration INTEGER NOT NULL)");
#if 1
query.exec("INSERT INTO artist "
"VALUES (1001, 'Gluecifer', 'Norway')");
query.exec("INSERT INTO artist "
"VALUES (1002, 'The Sounds', 'Sweden')");
query.exec("INSERT INTO artist "
"VALUES (1003, 'Melvins', 'USA')");
query.exec("INSERT INTO artist "
"VALUES (1004, 'Strapping Young Lads', 'Canada')");
query.exec("INSERT INTO cd "
"VALUES (2001, 1001, 'Riding the Tiger', 1997)");
query.exec("INSERT INTO cd "
"VALUES (2002, 1001, 'Easy Living', 2002)");
query.exec("INSERT INTO cd "
"VALUES (2003, 1002, 'Living in America', 2002)");
query.exec("INSERT INTO cd "
"VALUES (2004, 1003, 'Bullhead', 1991)");
query.exec("INSERT INTO cd "
"VALUES (2005, 1003, 'Stag', 1996)");
query.exec("INSERT INTO cd "
"VALUES (2006, 1003, 'Hostile Ambient Takeover', "
"2002)");
query.exec("INSERT INTO cd "
"VALUES (2007, 1003, '26 Songs', 2003)");
query.exec("INSERT INTO cd "
"VALUES (2008, 1004, 'City', 1997)");
query.exec("INSERT INTO cd "
"VALUES (2009, 1004, 'No Sleep Till Bedtime', "
"1998)");
query.exec("INSERT INTO cd "
"VALUES (2010, 1004, 'Syl', 2003)");
query.exec("INSERT INTO track "
"VALUES (3001, 2004, 01, 'Boris', 514)");
query.exec("INSERT INTO track "
"VALUES (3002, 2004, 02, 'Anaconda', 143)");
query.exec("INSERT INTO track "
"VALUES (3003, 2004, 03, 'Ligature', 229)");
query.exec("INSERT INTO track "
"VALUES (3004, 2004, 04, 'It''s Shoved', 155)");
query.exec("INSERT INTO track "
"VALUES (3005, 2004, 05, 'Zodiac', 254)");
query.exec("INSERT INTO track "
"VALUES (3006, 2004, 06, 'If I Had An Exorcism', "
"187)");
query.exec("INSERT INTO track "
"VALUES (3007, 2004, 07, 'Your Blessed', 339)");
query.exec("INSERT INTO track "
"VALUES (3008, 2004, 08, 'Cow', 271)");
#endif
return 0;
}
运行时弹出对话框:Driver not loaded Driver not loaded.
实在不知道是什么原因。
为什么QT与MySQl连不上呢?
在网上看到很多人问这个问题,可是没人答得出来,
还望高手不吝赐教.
...全文
相关推荐
超级总结(qt与mysql连接 驱动插件问题)
总之,面对Qt与MySQL连接的驱动插件问题,通过自行编译插件并正确处理路径中的空格问题,能够有效地解决问题,实现Qt应用程序与MySQL数据库的有效交互。
Qt连接MySQL驱动问题解决[源码]
在Qt开发中,连接MySQL数据库是一个常见的需求。
Qt中编译MySQL驱动 VS下Qt连接问题解决
Qt 中编译 MySQL 驱动 VS 下 Qt 连接问题解决Qt 中编译 MySQL 驱动 Qt 是一个跨平台的应用程序开发框架,可以在多种操作系统上运行。
开发资料\我的资料\Qt连接MySql驱动问题.pdf
当使用Qt进行MySQL数据库的连接时,通常需要一个名为qsqlmysql的驱动程序,这个驱动使得Qt能够与MySQL数据库进行通信。在上述描述中,开发者遇到了无法找到或构建这个驱动的问题。
QT连接MySQL驱动问题解决[可运行源码]
QT连接MySQL数据库是软件开发过程中常见的需求,尤其在构建跨平台桌面应用程序时,开发者经常需要通过QT框架实现对MySQL数据库的访问与操作。


