VS2019連接MySQL數(shù)據(jù)庫的過程及常見問題總結(jié)
今天下午開始配置各種環(huán)境,想著VS2019可以配合MySQL一起使用。中間出了不少錯(cuò)誤,晚上九點(diǎn)左右配置成功如下圖所示:
接下來說說具體步驟:
(1)首先準(zhǔn)備好VS2019和MySQL的軟件,各自官網(wǎng)都有,這里不再贅述;
(2)找到MySQL的安裝目錄,如圖,找到這兩個(gè)文件夾。
(3)新建一個(gè)工程后再新建一個(gè)main.cpp文件,為下面的配置環(huán)境做準(zhǔn)備。
(4)打開項(xiàng)目屬性,點(diǎn)擊VC++目錄,在包含目錄中,將MySQL安裝目錄中的include文件路徑添加到這里,如下圖所示:
?(5)在屬性頁上,打開C/C++,選擇常規(guī),步驟同上,在附加包含目錄中將MySQL文件中的include文件路徑添加進(jìn)去;
?(6)繼續(xù)在屬性頁上,點(diǎn)開鏈接器選項(xiàng),點(diǎn)擊常規(guī),將MySQL安裝目錄下的lib路徑拷貝到附加庫目錄中;
?(7)繼續(xù)在屬性頁的鏈接器中,點(diǎn)擊輸入選項(xiàng),將libmysql.lib文件加進(jìn)去,注意的是,只需要拷貝libmysql.lib這個(gè)名稱即可,不需要添加路徑。同樣,這文件也在mydql安裝文件夾中l(wèi)ib目錄下:
?(8)查看屬性頁上方的平臺(tái),選擇x64,x32可能會(huì)出錯(cuò)
?(9)把MySQL安裝目錄下的bin\libmysql.dll復(fù)制到c:\windows\system32下:
?
?
?這部安裝完成后,可以編寫測(cè)試代碼了。測(cè)試代碼如下:
#include <stdio.h> #include <iostream> #include "my_global.h" #include "mysql.h" using namespace std; int main() { cout << "hello world!" << endl; MYSQL mysql; MYSQL_RES* res; MYSQL_ROW row; mysql_init(&mysql); mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"); //注意:參數(shù)一定要對(duì)上。 //第二個(gè)參數(shù)為主機(jī)地址localhost,第三個(gè)參數(shù)為用戶名 //第四個(gè)參數(shù)為用戶密碼,第五個(gè)參數(shù)為連接的數(shù)據(jù)庫 //第六個(gè)參數(shù)為MySQL的端口號(hào)3306 if (mysql_real_connect(&mysql, "localhost", "root", "123456", "myemployees", 3306, NULL, 0) == NULL) { cout << (mysql_error(&mysql)); } mysql_query(&mysql, "SELECT * from myemployees.employees"); res = mysql_store_result(&mysql); //顯示數(shù)據(jù) //給ROW賦值,判斷ROW是否為空,不為空就打印數(shù)據(jù)。 while (row = mysql_fetch_row(res)) { printf("%s ", row[0]);//打印ID printf("%s ", row[1]);//打印ID cout << endl; } //釋放結(jié)果集 mysql_free_result(res); //關(guān)閉數(shù)據(jù)庫 mysql_close(&mysql); //停留等待 getchar(); system("pause"); return 0; }
運(yùn)行過程中,如果出現(xiàn)了如下圖所示的錯(cuò)誤,則需要進(jìn)行排查配置環(huán)境變量的問題。
?
1、項(xiàng)目右鍵屬性,檢查一下VC++目錄配置;
?2、檢查鏈接器中的輸入選項(xiàng)
?(3)我把這“l(fā)ibmysql.dll 和 libmysql.lib”文件放在項(xiàng)目里的.cpp文件夾下。
這三步可以檢查具體大部分的問題。
一定要注意的是MySQL的參數(shù)不要寫錯(cuò),寫錯(cuò)有時(shí)會(huì)出現(xiàn)如下Access denied for user 'ODBC'@'localhost' (using password: NO),可以去mysql的bin目錄下輸入命令:
mysql -u root -p,檢查數(shù)據(jù)庫用戶名,密碼啥的是否錯(cuò)誤。正確輸入如下圖所示:
到此這篇關(guān)于VS2019連接MySQL數(shù)據(jù)庫的常見問題總結(jié)的文章就介紹到這了,更多相關(guān)VS2019連接MySQL數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在IDEA的maven項(xiàng)目中連接并使用MySQL8.0的方法教程
這篇文章主要介紹了如何在IDEA的maven項(xiàng)目中連接并使用MySQL8.0,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02mysqldump數(shù)據(jù)庫備份參數(shù)詳解
這篇文章主要介紹了mysqldump數(shù)據(jù)庫備份參數(shù)詳解,需要的朋友可以參考下2014-05-05淺談選擇mysql存儲(chǔ)引擎的標(biāo)準(zhǔn)
本文介紹了如何選擇mysql存儲(chǔ)引擎,從存儲(chǔ)引擎的介紹、幾個(gè)常用引擎的特點(diǎn)三個(gè)方面進(jìn)行講解,感興趣的小伙伴們可以參考一下2015-07-07MySQL數(shù)據(jù)庫表的合并與分區(qū)實(shí)現(xiàn)介紹
今天我們來聊聊處理大數(shù)據(jù)時(shí)Mysql的存儲(chǔ)優(yōu)化。當(dāng)數(shù)據(jù)達(dá)到一定量時(shí),一般的存儲(chǔ)方式就無法解決高并發(fā)問題了。最直接的MySQL優(yōu)化就是分區(qū)分表,以下是我個(gè)人對(duì)分區(qū)分表的筆記2022-09-09利用mysql的inet_aton()和inet_ntoa()函數(shù)存儲(chǔ)IP地址的方法分享
當(dāng)前很多應(yīng)用都適用字符串char(15)來存儲(chǔ)IP地址(占用16個(gè)字節(jié)),利用inet_aton()和inet_ntoa()函數(shù),來存儲(chǔ)IP地址效率很高,適用unsigned int 就可以滿足需求,不需要使用bigint,只需要4個(gè)字節(jié),節(jié)省存儲(chǔ)空間,同時(shí)效率也高很多2012-03-03