c++連接mysql入門案例
前言
本文介紹c++使用mysql數(shù)據(jù)庫(kù)連接的前期準(zhǔn)備,以及如何在代碼中實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)庫(kù)操作。
環(huán)境與前期準(zhǔn)備
操作系統(tǒng):windows10
IDE: vs2013
mysql: 本機(jī)已安裝 mysql 5.5
創(chuàng)建項(xiàng)目:創(chuàng)建一個(gè)空項(xiàng)目,本例選擇win32 console Application,項(xiàng)目名為:cpp-mysql,.
初始代碼:創(chuàng)建main.cpp,內(nèi)容如下:(注意地址,端口,密碼等連接信息自行設(shè)置)
#include<winsock.h> #include<stdio.h> #include<mysql.h> using namespace std; int main(){ MYSQL conn; MYSQL_RES *res_set; MYSQL_ROW row; mysql_init(&conn); if (!mysql_real_connect(&conn, "localhost", "root", "123456", "mysql", 3306, NULL, 0)){ fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&conn)); } else{ fprintf(stderr, "Successfully connected to Database.\n"); int status = mysql_query(&conn, "SELECT * FROM user"); res_set = mysql_store_result(&conn); int count = mysql_num_rows(res_set); printf("No of rows = %d\n", count); while ((row = mysql_fetch_row(res_set)) != NULL){ for (int i = 0; i<mysql_num_fields(res_set); i++){ printf("%s \t", row[i] != NULL ? row[i] : "NULL"); } printf("\n"); } } mysql_close(&conn); getchar(); return 0; }
過程與步驟
為了能夠正確引入頭文件“mysql.h”,需要在項(xiàng)目屬性中進(jìn)行一系列設(shè)置。
1.按alt+f7 或 progres => cpp-mysql properties 今日項(xiàng)目屬性設(shè)置
2.將mysql 安裝目錄中的include文件夾目錄加入到Additional include directories 中。
(c/c++ => general)
3.將mysql 安裝目錄中的lib文件夾目錄加入到additional library directory
(linker => general => additional library directory)
4.將libmysql.lib加入到linker=>input=>additional dependencies
5.嘗試運(yùn)行(注意需要用release方式運(yùn)行),若提示以下報(bào)錯(cuò),則將提示缺少的文件從mysql安裝目錄中復(fù)制到項(xiàng)目更目錄的release文件夾。
出現(xiàn)以下報(bào)錯(cuò):
解決辦法:
結(jié)果
運(yùn)行代碼,測(cè)試連接是否成功。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++ OpenCV實(shí)現(xiàn)圖像去水印功能
本文將介紹如何使用OpenCV C++ 進(jìn)行簡(jiǎn)單圖像水印去除。我們?cè)诰W(wǎng)上download圖片時(shí),經(jīng)常因?yàn)榘鏅?quán)問題有水印。本案例通過編寫算法進(jìn)行簡(jiǎn)單水印去除。需要的可以參考一下2022-01-01基于內(nèi)核線程的創(chuàng)建、使用和退出以及延時(shí)宏的補(bǔ)充說明介紹
本篇文章是對(duì)內(nèi)核線程的創(chuàng)建、使用和退出以及延時(shí)宏的補(bǔ)充說明介紹進(jìn)行了敘述。需要的朋友參考下2013-05-05C語(yǔ)言實(shí)現(xiàn)CRC校驗(yàn)算法的示例詳解
CRC(Cyclic Redundancy Check,循環(huán)冗余校驗(yàn))是一種常用的錯(cuò)誤檢測(cè)技術(shù),用于驗(yàn)證數(shù)據(jù)在傳輸或存儲(chǔ)過程中是否發(fā)生了錯(cuò)誤,本文主要介紹了C語(yǔ)言如何實(shí)現(xiàn)CRC校驗(yàn)算法,需要的可以參考一下2023-08-08Qt實(shí)現(xiàn)界面滑動(dòng)切換效果的思路詳解
這篇文章主要介紹了Qt實(shí)現(xiàn)界面滑動(dòng)切換效果,主要包括設(shè)計(jì)思路及主要函數(shù)講解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07C++實(shí)現(xiàn)Window環(huán)境聊天室功能
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)Window環(huán)境聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06