c++連接mysql入門(mén)案例
前言
本文介紹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;
}過(guò)程與步驟
為了能夠正確引入頭文件“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++稀疏矩陣的各種基本運(yùn)算并實(shí)現(xiàn)加法乘法
今天小編就為大家分享一篇關(guān)于C++稀疏矩陣的各種基本運(yùn)算并實(shí)現(xiàn)加法乘法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢
這篇文章主要為大家詳細(xì)介紹了cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
基于C語(yǔ)言實(shí)現(xiàn)的TCP服務(wù)器的流程分析
本文詳細(xì)介紹了如何使用C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的TCP服務(wù)器,包括創(chuàng)建套接字、綁定IP和端口、監(jiān)聽(tīng)連接請(qǐng)求、接受客戶(hù)端連接、數(shù)據(jù)接收與發(fā)送以及關(guān)閉套接字等步驟,最后通過(guò)一個(gè)簡(jiǎn)單的示例展示了TCP服務(wù)器的基本實(shí)現(xiàn)過(guò)程2024-10-10
C++ Strassen算法代碼的實(shí)現(xiàn)
這篇文章主要介紹了C++ Strassen算法代碼的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
復(fù)數(shù)乘法中的結(jié)構(gòu)體賦值實(shí)現(xiàn)代碼
復(fù)數(shù)乘法中的結(jié)構(gòu)體賦值實(shí)現(xiàn)代碼。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的<三子棋>案例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的《三子棋》,本文通過(guò)功能區(qū)分一步步實(shí)現(xiàn)該案例,通過(guò)逐步的解析和代碼列舉,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)實(shí)例講解單鏈表的實(shí)現(xiàn)
單鏈表是后面要學(xué)的雙鏈表以及循環(huán)鏈表的基礎(chǔ),要想繼續(xù)深入了解數(shù)據(jù)結(jié)構(gòu)以及C++,我們就要奠定好這塊基石!接下來(lái)就和我一起學(xué)習(xí)吧2022-03-03
QT編寫(xiě)地圖實(shí)現(xiàn)在線(xiàn)輪廓圖的示例代碼
輪廓圖也叫行政區(qū)劃,這里的輪廓圖是指百度地圖的區(qū)域輪廓圖。本文將為大家介紹QT如何實(shí)現(xiàn)在線(xiàn)輪廓圖的編寫(xiě),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12

