關於Qt新增QMYSQL資料庫

2022-08-20 17:33:14 字數 4211 閱讀 9221

1、很多可能預設安裝qt creator的時候不帶有qmysql資料庫,但是需要用的時候,需要自己新增

列印下資料庫支援哪些驅動:

qdebug() << qsqldatabase::drivers();
預設一般是這樣的,並不支援qmysql,紅線框內的驅動庫檔案是已經生成好的,也是我們需要的

2、參考看看大老的帖子

3、按照上面的帖子順利解決問題

("qsqlite", "qmariadb", "qmysql", "qmysql3", "qodbc", "qodbc3", "qpsql", "qpsql7")

********看到這裡在補充一些***********************

在該目錄下建立乙個配置檔案:my.ini

[client]

# 設定mysql客戶端預設字符集

default-character-set=utf8

[mysqld]

# 設定埠3306

port = 3306

#設定mysql安裝目錄

basedir=d:\\program_file\\mysql57\\mysql-5.7.19-winx64

# 設定mysql資料儲存目錄,mysql8+不需要以下配置,否則報錯

datadir=d:\\program_file\\mysql57\\mysql-5.7.19-winx64\\sqldata

# 允許最大連線數

max_connections=20

# 服務端使用字符集預設為8位元編碼的latin1字符集

character-set-server=utf8

# 建立新錶時使用預設儲存引擎

default-storage-engine=innodb

以管理員許可權開啟cmd,切換到目錄下,

1、初始化mysql

//注意,執行完成後會生成隨機密碼:heosuudc+1rr(最好先複製到文字格式下,再拷貝過來,否則可能存在0或者o分不清)

2、安裝mysql

mysqld install
3、啟動mysql

net start  mysql
4、登入mysql

5、輸入密碼:heosuudc+1rr,登入進來後,修改密碼:新的密碼:123456

6、驗證新的密碼重新登入:

2、在qt下找到mysql的原始檔的工程,d:\program_file\qt5129\5.12.9\src\qtbase\src\plugins\sqldrivers\mysql,開啟mysql.pro,

正常是這樣的:

target =qsqlmysql

headers += $$pwd/qsql_mysql_p.h

sources += $$pwd/qsql_mysql.cpp $$pwd/main.cpp

qmake_use +=mysql

other_files +=mysql.json

plugin_class_name =qmysqldriverplugin

include(../qsqldriverbase.pri)

修改後是這樣的:

target =qsqlmysql

headers += $$pwd/qsql_mysql_p.h

sources += $$pwd/qsql_mysql.cpp $$pwd/main.cpp

#qmake_use +=mysql

other_files +=mysql.json

plugin_class_name =qmysqldriverplugin

include(../qsqldriverbase.pri)

//includepath +="

d:\program_file\mysql57\mysql-5.7.19-winx64\include"//

include目錄介面對應的庫檔案路徑

libs +="

d:\program_file\mysql57\mysql-5.7.19-winx64\lib\libmysql.lib"//

編譯生成目標庫的路徑

destdir = ../mysql/lib/

3、修改完成後,編譯該工程,正確編譯後,在d:\program_file\qt5129\5.12.9\src\qtbase\src\plugins\sqldrivers\mysql下生成乙個lib檔案,存放maysql的驅動

4、拷貝qsqlmysql.dll、qsqlmysqld.dll到d:\program_file\qt5129\5.12.9\mingw73_64\plugins\sqldrivers目錄下;

5、再將剛才解壓檔案中的libmysql.dll、libmysql.lib拷貝至d:\program_file\qt5129\5.12.9\mingw73_64\bin路徑下;

6、再次列印驅動就可以看到mysql驅動;

("qsqlite", "qmysql", "qmysql3", "qodbc", "qodbc3", "qpsql", "qpsql7")

7、關於mysql資料庫的操作:

1、登入mysql:

mysql -u root -p  //

使用者名稱 root登入mysql

如果返回can't connect to mysql server on localhost (10061)」錯誤,說明mysql沒有新增到windows服務中,

2、mysql加入windows服務中

mysql --install
3、初始化資料庫(注意這裡的密碼root@localhost後面的字串)或者跳過這步;

mysqld --initialize --user=root --console
4、啟動mysql

net start mysql //

啟動資料庫

net stop mysql //

有時候需要停止資料庫服務,停止資料庫

5、使用生成的密碼登入mysql

mysql -u root -p //

使用密碼登入

mysql -uroot -p //

不適用密碼登入,不設定密碼比較方便

6、登入後設定密碼

set password=password('

123456

');

7、登入後檢視現有的資料庫

show databases;  //

檢視已經存在的資料庫

//一般不使用預設帶的資料庫 自己新建乙個

create database mydata; //

新建資料庫mydata

//退出資料庫

exit

8、上面建立好資料庫基礎上,就可以在qt中使用。一般建立資料庫使用指令碼建立好後,在qt中直接使用;

QT資料庫 新增MySQL驅動外掛程式(ARM篇)

編譯環境 ubuntu 11.04 qt4.7.2 gcc4.3.2 硬體 arm9 s3c2440 2.解壓縮 tar zxvf mysql 5.1.70.tar.gz 3.在 原創 qt資料庫 新增mysql驅動外掛程式 linux篇 裡我已經介紹過了。需要ncurses,所以我們還移植到arm...

Qt資料庫程式設計

qtsql模組提供了乙個平台無關且資料庫無關的訪問sql資料庫的介面。qt中的每個資料庫連線用乙個qsqldatabase物件來表示 qt使用不同driver來和各種不同資料庫的api進行通訊。qsqlquery提供了直接執行任意sql語句的特性 此外還提供了兩個高層次的無需sql命令的資料庫介面 ...

Qt 資料庫簡介

資料庫幾乎是每個較大的軟體所必須應用的,而在qt中也使用qtsql模組實現了對資料庫的完美支援。我們可以在qt creator的幫助中查詢qtsql module的幫助文件。這個模組是一組類的集合,使用這個模組我們需要加入標頭檔案 include並且在工程檔案中需要加入一行 qt sql qsqlq...