QT5.8.0连接MYSQL5.6.48 都是64位

本文详细介绍如何使用Qt进行MySQL数据库的连接与操作,包括在VS中设置属性、拷贝必要的DLL和LIB文件、编码实现数据库的创建、插入数据及查询等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一。Navicat  for MySQL

新建连接->MySQL

二。拷贝dll库和lib文件

1.将D:\software\mysql-5.6.43-winx64\lib下libmysql.dll和libmysqld.dll拷贝到 D:\Qt\Qt5.8.0\5.8\msvc2015_64\bin

2.将D:\software\mysql-5.6.43-winx64\lib下libmysql.lib和libmysqld.lib拷贝到 D:\Qt\Qt5.8.0\5.8\msvc2015_64\lib

三。vs属性设置

在解决方案工程属性中

1.C/C++->常规->附加包含目录  中添加$(QTDIR)\include\QtSql

2.链接器->输入->附加依赖库  中添加Qt5Sqld.lib和Qt5Sql.lib

四。编码

#include "QtGuiApplication4.h"
#include <QtWidgets/QApplication>
#include<QAxBase>
#include "QtGuiClass.h"
#include "MyWebQt.h"
#include <QProcess>
#include <QMessageBox>
#include <QUrl>
#include <QRegExp>
#include <QDebug>
#include <QPlainTextEdit>
#include <QtSql>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QMessageBox>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

 

 

 

 


    QSqlDatabase db;

    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug() << "\t " << driver;
    qDebug() << "End";
    //QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    if (QSqlDatabase::contains("test"))
    {
        
    }
    else 
    {
        db = QSqlDatabase::addDatabase("QMYSQL");   //, "localhost@3306"
        db.setHostName("localhost");    //数据库主机名    
        db.setDatabaseName("test");    //数据库名    
        db.setUserName("root");        //数据库用户名    
        db.setPassword("");        //数据库密码    
    }

    bool bisOpenn = db.open();          //打开数据库连接    
    qDebug()<<"bisOpenn="<<bisOpenn;

    if (db.open())
    {
        QMessageBox::warning(NULL, QStringLiteral("提示"), "open ok", QMessageBox::Yes);
    }
    else
    {
        QMessageBox::warning(NULL, QStringLiteral("提示"), "open failed", QMessageBox::Yes);
    }
    QSqlQuery sql_query(db);
    bool buscess = sql_query.exec("create table person (id int primary key, firstname varchar(20), lastname varchar(20))");
    sql_query.exec("insert into person values(101, 'Danny', 'Young')");
    sql_query.exec("insert into person values(102, 'Christine', 'Holand')");
    sql_query.exec("insert into person values(103, 'Lars', 'Gordon')");
    sql_query.exec("insert into person values(104, 'Roberto', 'Robitaille')");
    sql_query.exec("insert into person values(105, 'Maria', 'Papadopoulos')");
    if (!buscess)
    {

        qDebug("table is error");
    }
    else
    {
        qDebug("table is sucess");
    }

    QSqlQuery query;
    query.exec("select * from person");
    while (query.next())
    {
        qDebug() << query.value(0).toInt() << query.value(1).toString() << query.value(2).toString();
    }

 

    return a.exec();

五。在Navicat  for MySQL中可以看到如下

 

 

 

 

 



 

 

 

 

哈哈哈,小白在学校期间的练手作品,很粗糙,很简陋,bug也有,但是对于新手来说还是很具有参考价值的,不喜勿喷,指出问题,共同进步。 项目简介: 1.项目名称:学生信息管理与收发系统(客户端+服务器)-(学生端-服务器-教师端) 2.使用工具:QT Creator 5.6 + Mysql5.6; 3.使用技术:C/S(客户端-服务器)、TCP/IP(协议)、socket、多线程、数据库; 4.项目描述:1)服务器:服务器监听一个IP地址,用来连接教师端和学生端,用于数据转发(eg:教师端发消息到服务器,在由服务器发消息到学生端); 2)教师端:教师端的主要功能是选择需要发送的学生(可以发送给不在线学生),输入将要发送给一部分学生的表格名(标题),和1-8个字段名(不能重复,因为数据库中的字段名不能重复),在点击发送后由服务器转发给学生端。在学生端收到消息并且提交消息后可以查询学生的信息和提交的信息,还可以将数据表导出成xls文件。文件发送还没有完成0.0…… 3)学生端:学生端可以编辑个人信息。学生端可以查询收到的并未提交的数据表并且提交信息。(可以收到离线信息)(在线学生收到消息提示后从数据库中查找教师端所发出的数据)(不在线学生在上线后从数据库中查找数据)。文件发送还没有完成0.0…… 5.注意事项:本系统只能用于局域网中的数据传输,并且由于本项目是在学校完成后并没有改动,所以服务器所监听的地址为我本身的地址,在下载后本系统是不可用的。还有就是数据库的问题,数据库是我在花钱买的一个远程服务器上搭建的,所以数据库也是不可用的。因此 1)在拿到本系统的代码时应该修改IP地址(服务器-教师端-学生端)改为你所需要的。 2)在拿到本系统的代码时应该把我所发的数据库加入到你的数据库中,并且修改代码中跟数据库有关的代码。 代码我就不贴了,自己下载看吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值