1、很多可能預設安裝qt creator的時候不帶有qmysql資料庫,但是需要用的時候,需要自己新增
列印下資料庫支援哪些驅動:
qdebug() << qsqldatabase::drivers();預設一般是這樣的,並不支援qmysql,紅線框內的驅動庫檔案是已經生成好的,也是我們需要的
2、參考看看大老的帖子
3、按照上面的帖子順利解決問題
("qsqlite", "qmariadb", "qmysql", "qmysql3", "qodbc", "qodbc3", "qpsql", "qpsql7")
********看到這裡在補充一些***********************
在該目錄下建立乙個配置檔案:my.ini
[client]以管理員許可權開啟cmd,切換到目錄下,# 設定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
1、初始化mysql
//注意,執行完成後會生成隨機密碼:heosuudc+1rr(最好先複製到文字格式下,再拷貝過來,否則可能存在0或者o分不清)
2、安裝mysql
mysqld install3、啟動mysql
net start mysql4、登入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 =qsqlmysql3、修改完成後,編譯該工程,正確編譯後,在d:\program_file\qt5129\5.12.9\src\qtbase\src\plugins\sqldrivers\mysql下生成乙個lib檔案,存放maysql的驅動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/
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 //如果返回can't connect to mysql server on localhost (10061)」錯誤,說明mysql沒有新增到windows服務中,使用者名稱 root登入mysql
2、mysql加入windows服務中
mysql --install3、初始化資料庫(注意這裡的密碼root@localhost後面的字串)或者跳過這步;
mysqld --initialize --user=root --console4、啟動mysql
net start mysql //5、使用生成的密碼登入mysql啟動資料庫
net stop mysql //
有時候需要停止資料庫服務,停止資料庫
mysql -u root -p //6、登入後設定密碼使用密碼登入
mysql -uroot -p //
不適用密碼登入,不設定密碼比較方便
set password=password('7、登入後檢視現有的資料庫123456
');
show databases; //8、上面建立好資料庫基礎上,就可以在qt中使用。一般建立資料庫使用指令碼建立好後,在qt中直接使用;檢視已經存在的資料庫
//一般不使用預設帶的資料庫 自己新建乙個
create database mydata; //
新建資料庫mydata
//退出資料庫
exit
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...