您好,登錄后才能下訂單哦!
配置過程記錄一下,年紀(jì)大了記性很差……
0 安裝環(huán)境
Win10x64+Qt5.5(x86)+VS2010(x86)
1 安裝MySQL
注意:
以下是按x64版本安裝的,x86版本的安裝流程沒有區(qū)別。
MySQL安裝的版本應(yīng)該與Qt的版本相對應(yīng),切記!切記!
1.1 下載
http://dev.mysql.com/downloads/mysql/
選擇 mysql-5.7.14-winx64.zip下載
1.2 解壓
解壓縮文件到安裝目錄
注意:不要在安裝目錄中保留空格
1.3 配置
(1)將my-default.ini重命名為my.ini
內(nèi)容修改如下:
[client]
port=3306
default-character-set=utf8
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8[mysqld]
#設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=C:/MySQL/mysql-5.7.14-winx64
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=C:/MySQL/mysql-5.7.14-winx64/data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
C:/MySQL/mysql-5.7.14-winx64/bin/mysqld.exe
(2)以管理員身份運(yùn)行命令提示符cmd
(3)切換目錄 cd /dC:/MySQL/mysql-5.7.14-winx64/bin
(4)執(zhí)行安裝 mysqld --install
(5)初始化 mysqld --initialize --console
初始化成功會給root帳號設(shè)置一個臨時的密碼,一定記住這個密碼
初始化成功之后會在datadir創(chuàng)建data目錄
注意:不要提前創(chuàng)建data目錄,可能會造成安裝失敗
(7)啟動服務(wù) net start mysql
服務(wù)啟動成功會給出提示
沒有成功的話,用 mysqld --remove卸載之后再試一下
如果是重新安裝MySQL,先停止正常運(yùn)行的服務(wù) net stop mysql
再卸載mysqld --remove
(8)首次登錄并修改密碼 mysqladmin -u root -p password
(9)登錄 mysql -u root -p
顯示下內(nèi)建的數(shù)據(jù)庫
(10)設(shè)置測試用數(shù)據(jù)庫
create database bz;
use bz;
create table user(userid INT NOT NULL AUTO_INCREMENT,
-> username VARCHAR(256) NOT NULL,
-> userpassword VARCHAR(256) NOT NULL,
-> useremail VARCHAR(256) DEFAULT NULL,
-> usermobile VARCHAR(32) DEFAULT NULL,
-> PRIMARY KEY(userid));
insert into user (username, userpassword) values ("Apple","p1");
insert into user (username, userpassword) values ("Bob","p2");
insert into user (username, userpassword) values ("Cat","p3");
insert into user (username, userpassword) values ("Dog","p4");
查詢一下
數(shù)據(jù)庫準(zhǔn)備好了, 接下來配置Qt
2 配置Qt5.5
2.0 Qt版本
這里可以下載到各個版本的Qt http://download.qt.io/archive/qt/
注意:Qt5.5+VS的版本只有x86的,沒有x64的
(這個說起來好痛……前面的MySQL最開始全是按x64的版本安裝配置的,后來折騰了很久才在知乎上看到大神留言說有可能是x86和x64的問題,恍然?。?
2.1 測試代碼
#include
#include
#include
#include
#include
bool createConnection();
void queryDatabase();
void availableDrivers();
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
availableDrivers();
if (!createConnection())
return 1;
queryDatabase();
return a.exec();
}
void availableDrivers()
{
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "/t" << driver;
}
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("bz");
db.setUserName("root");
db.setPassword("Qwert!2345");
if (!db.open())
{
qDebug() << "/r/n/r/ncreateConnection " << db.lastError().text();
return false;
}
else
{
qDebug() << "/r/n/r/ncreateConnection " << "OK";
return true;
}
}
void queryDatabase()
{
QSqlQuery query;
if (query.exec("SELECT * FROM user"))
{
qDebug() << "all users in table bz:";
while (query.next())
qDebug() << query.value("username").toString();
}
}
測試錯誤提示:
執(zhí)行createConnection()時,顯示“Driver not loaded Driver not loaded”
將C:/MySQL/mysql-5.7.14-win32/lib 目錄下
libmysql.dll
libmysql.lib
libmysqld.dll
libmysqld.lib
這四個文件復(fù)制到C:/Qt/Qt5.5.0/5.5/msvc2010/bin
重新運(yùn)行上面的代碼
運(yùn)行成功!
[1]Qt 訪問 MySQL
[2]Qt之編譯MySQL數(shù)據(jù)庫驅(qū)動(MSVC)
[3]QT5 無法加載MYSQL驅(qū)動?
[4]MySQL 教程
[5] 《C++ GUI Qt4 編程》(第二
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。