C++ Qt c++;嵌入式mysql

C++ Qt c++;嵌入式mysql,c++,mysql,qt,embedded-database,C++,Mysql,Qt,Embedded Database,我一直在使用mysql服务器5.7在windows上用MingW4.7在Qt5.0.2上编写一个程序 我首先开始为QT安装MYQSL驱动程序。它可以工作,我可以访问数据,但我必须从mysql workbench启动服务器,否则它将无法与数据库建立连接(因为它没有运行) 对于我的程序,我需要在运行程序时启动服务器。这就是我被卡住的地方。我知道我需要使用这个工具,但我似乎无法让它发挥作用。我没有找到太多有用的例子,所以我试着这样做: 这是.pro文件: QT += core sql QT

我一直在使用mysql服务器5.7在windows上用MingW4.7在Qt5.0.2上编写一个程序

我首先开始为QT安装MYQSL驱动程序。它可以工作,我可以访问数据,但我必须从mysql workbench启动服务器,否则它将无法与数据库建立连接(因为它没有运行)

对于我的程序,我需要在运行程序时启动服务器。这就是我被卡住的地方。我知道我需要使用这个工具,但我似乎无法让它发挥作用。我没有找到太多有用的例子,所以我试着这样做:

这是.pro文件:

QT       += core sql
QT       += sql

QT       -= gui

TARGET = Temp
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\include"
INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib"

LIBS += -L"C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib" -llibmysqld
这是我的主文件:

#include <QtSQL>
#include <qsql_mysql.h>
#include <mysql.h>


int main(int argc, char *argv[])
{
        QSqlDatabase mydb;
        MYSQL *mysql;

        static char *server_options[] = \
        { "mysql_test", "--defaults-file=/home/cquiros/temp/mysql/my.cnf", NULL };
        int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;

        static char *server_groups[] = { "embedded", NULL };

        qDebug() << "Loading embedded";
        mysql_library_init(num_elements, server_options, server_groups);
        mysql = mysql_init(NULL);
        mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "embedded");
        mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);

        mysql_real_connect(mysql, NULL,NULL,NULL, "database1", 0,NULL,0);

        QMYSQLDriver *drv = new QMYSQLDriver(mysql);

        mydb = QSqlDatabase::addDatabase(drv,"connection1"); //Add the database connector to MySQL

        mydb.setDatabaseName("test");

        if (!mydb.open()) //Try to opens the database
        {
            qDebug() << "Error while opening the database";
        }
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
qsqlmydb数据库;
MYSQL*MYSQL;
静态字符*服务器_选项[]=\
{“mysql_test”,“--defaults file=/home/cquiros/temp/mysql/my.cnf”,NULL};
int num_elements=(sizeof(服务器选项)/sizeof(字符*)-1;
静态字符*服务器组[]={“嵌入”,NULL};
qDebug()