1. 程式人生 > 實用技巧 >QT連線mysql資料庫方式

QT連線mysql資料庫方式

QT連線mysql 對版本和系統的影響不大

環境變數

Mysql 有很多版本,線上下載版本,離線版本,免安裝版本

線上下載的版本可以自己選擇需要的功能和外掛,

離線版本,直接一鍵安裝就行

免安裝版本 需要環境變數,和通過命令集 啟動mysql資料庫的使用,

都有優點

我都是在先安裝最新版本的

2020/7/11號

安裝方面就不寫了,QT方面選擇全面安裝

Mysql方面選擇全面 安裝

然後把Mysql檔案種的

這些版本按照 對應版本和32或64,的檔案都新增到QT對應的檔案中

可以百度 有特別多,我看過大概200個左右內容都差不多

至於 沒有庫檔案,和需要自己編譯的情況,還有報錯的情況,可以忽略,有效果就行

然後QT建立一個專案

命令視窗和win視窗都可以的

這塊選擇這兩個版本

程式碼

QT       += core gui
QT       +=sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

#include "mainwindow.h"

#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;


    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    db.setHostName("127.0.0.1"); //資料庫伺服器IP
        db.setUserName("root");//使用者名稱
        db.setPassword("493893279");//密碼
        db.setDatabaseName("Mydata");//使用的資料庫
        qDebug()<<"DatabaseConnect";
       if(!db.open()){
        qDebug()<<"資料讀取失敗";

       }else
       {
        db.exec("SET NAMES'gbk'");
        

       }





    w.show();
    return a.exec();
}

內容就是這樣

點選執行沒有報錯就行

效果如下

關於在如何使用mysql讀寫資料和建立資料刪除資料

暫時不會