我打算在下午配置各種環境,嘗試將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下:
#
這部安裝完成後,可以寫測試程式碼了。測試程式碼如下:
#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資料庫的常見問題有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!