qt(5版本以上)连接MySQL的两种方式

方法一

qt5版本以上已经自带了mysql的驱动只需要将mysql安装目录下(具体目录直接搜索)的libmysql.dll和libmysql.lib两个文件放到qt安装目录下的 5.11.0\mingw53_32\bin中即可。需要格外注意的是MySQL中libmysql.dll和libmysql.lib这两个文件和qt的架构必须都是32位或都是64位的(看qt安装路径mingw53_32 说明qt是32的)。然后就可以使用如下代码访问数据库了。

#include "mainwindow.h"
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSqlDatabase d = QSqlDatabase::addDatabase("QMYSQL");
    d.setHostName("127.0.0.1");
    d.setDatabaseName("menagerie");
    d.setPort(3306);
    d.setUserName("root");
    d.setPassword("root");
    if(d.open())
    {
        qDebug()<<"open";

    }else
    {
        qDebug()<<"open error";
        qDebug()<

方法2

在window电脑中使用数据源的方式使qt连接mysql。首先配置电脑的数据源,同样的要和qt的架构相同(qt mingw的架构看安装路径)。可以将32和64位的都配置上。配置方法(。。。百度)。然后就可以使用下边的方法连接msyql了。
与方法一不同的地方:

  1. QSqlDataBase::addDatabase(“QODBC”)
  2. setDatabaseName(“local_mysql_32”) 这里的local_mysql_32是配置的数据源的名字。
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSqlDatabase d = QSqlDatabase::addDatabase("QODBC");
    d.setHostName("127.0.0.1");
    d.setDatabaseName("local_mysql_32");
    d.setPort(3306);
    d.setUserName("root");
    d.setPassword("root");
    if(d.open())
    {
        qDebug()<<"open";

    }else
    {
        qDebug()<<"open error";
        qDebug()<

你可能感兴趣的:(qt,mysql)