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)查看屬性頁上方的平臺,選擇x64,x32可能會出錯(cuò)

?(9)把MySQL安裝目錄下的bin\libmysql.dll復(fù)制到c:\windows\system32下:
?
?
?這部安裝完成后,可以編寫測試代碼了。測試代碼如下:
#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ù)一定要對上。
//第二個(gè)參數(shù)為主機(jī)地址localhost,第三個(gè)參數(shù)為用戶名
//第四個(gè)參數(shù)為用戶密碼,第五個(gè)參數(shù)為連接的數(shù)據(jù)庫
//第六個(gè)參數(shù)為MySQL的端口號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í)會出現(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySql Installer 8.0.18可視化安裝教程圖文詳解
這篇文章主要介紹了MySql Installer 8.0.18可視化安裝教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
MySQL中datetime時(shí)間字段的四舍五入操作
這是由一則生產(chǎn)環(huán)境問題引出的MySQL對于datetime時(shí)間類型字段中毫秒的處理的深究,這篇文章主要給大家介紹了關(guān)于MySQL中datetime時(shí)間字段的四舍五入操作的相關(guān)資料,需要的朋友可以參考下2021-09-09
使用MySQL從JSON字符串提取數(shù)據(jù)的方法詳解
在現(xiàn)代數(shù)據(jù)庫管理中,JSON 格式因其靈活性而廣泛使用,然而,當(dāng)數(shù)據(jù)存儲在 JSON 中時(shí),我們經(jīng)常需要將其轉(zhuǎn)換為更易于處理的格式,本篇文章將通過一個(gè)具體的 SQL 查詢示例,展示如何從存儲在 MySQL 中的 JSON 字符串提取數(shù)據(jù)并重新格式化,需要的朋友可以參考下2024-10-10
解決當(dāng)MySQL數(shù)據(jù)庫遇到Syn Flooding問題
Syn攻擊常見于應(yīng)用服務(wù)器,而數(shù)據(jù)庫服務(wù)器在內(nèi)網(wǎng)中,應(yīng)該很難碰到類似的攻擊,這篇文章主要介紹了當(dāng)MySQL數(shù)據(jù)庫遇到Syn Flooding問題 ,需要的朋友可以參考下2019-06-06
net?start?mysql服務(wù)名無效的三種解決方法
這篇文章主要介紹了net?start?mysql服務(wù)名無效的三種解決方法,通過圖文結(jié)合的方式講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-08-08
MySQL數(shù)據(jù)庫管理常用命令小結(jié)
MySQL數(shù)據(jù)庫是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理,MySQL數(shù)據(jù)庫管理有它自己獨(dú)特的使用命令,下面為您介紹MySQL數(shù)據(jù)庫管理常用命令。2011-03-03
window10下mysql 8.0.20 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了window10下mysql 8.0.20 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05

