今天下午開始配置各種環境,想著vs2019可以配合mysql一起使用。中間出了不少錯誤,晚上九點左右配置成功如下圖所示:
接下來說說具體步驟:
(1)首先準備好vs2019和mysql的軟件,各自官網都有,這里不再贅述;
(2)找到mysql的安裝目錄,如圖,找到這兩個文件夾。
(3)新建一個工程后再新建一個main.cpp文件,為下面的配置環境做準備。
(4)打開項目屬性,點擊vc++目錄,在包含目錄中,將mysql安裝目錄中的include文件路徑添加到這里,如下圖所示:
(5)在屬性頁上,打開c/c++,選擇常規,步驟同上,在附加包含目錄中將mysql文件中的include文件路徑添加進去;
(6)繼續在屬性頁上,點開鏈接器選項,點擊常規,將mysql安裝目錄下的lib路徑拷貝到附加庫目錄中;
(7)繼續在屬性頁的鏈接器中,點擊輸入選項,將libmysql.lib文件加進去,注意的是,只需要拷貝libmysql.lib這個名稱即可,不需要添加路徑。同樣,這文件也在mydql安裝文件夾中lib目錄下:
(8)查看屬性頁上方的平臺,選擇x64,x32可能會出錯
(9)把mysql安裝目錄下的bin\libmysql.dll復制到c:\windows\system32下:
這部安裝完成后,可以編寫測試代碼了。測試代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#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" ); //注意:參數一定要對上。 //第二個參數為主機地址localhost,第三個參數為用戶名 //第四個參數為用戶密碼,第五個參數為連接的數據庫 //第六個參數為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); //顯示數據 //給row賦值,判斷row是否為空,不為空就打印數據。 while (row = mysql_fetch_row(res)) { printf( "%s " , row[0]);//打印id printf( "%s " , row[1]);//打印id cout << endl; } //釋放結果集 mysql_free_result(res); //關閉數據庫 mysql_close(&mysql); //停留等待 getchar(); system( "pause" ); return 0; } |
運行過程中,如果出現了如下圖所示的錯誤,則需要進行排查配置環境變量的問題。
1、項目右鍵屬性,檢查一下vc++目錄配置;
2、檢查鏈接器中的輸入選項
(3)我把這“libmysql.dll 和 libmysql.lib”文件放在項目里的.cpp文件夾下。
這三步可以檢查具體大部分的問題。
一定要注意的是mysql的參數不要寫錯,寫錯有時會出現如下access denied for user 'odbc'@'localhost' (using password: no),可以去mysql的bin目錄下輸入命令:
mysql -u root -p,檢查數據庫用戶名,密碼啥的是否錯誤。正確輸入如下圖所示:
到此這篇關于vs2019連接mysql數據庫的常見問題總結的文章就介紹到這了,更多相關vs2019連接mysql數據庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/zapachep/article/details/121547648