1,裝好mysql,新建乙個c++控制台工程(從最簡單的弄起,這個會了,可以往任何c++工程移植),在vs2010中設定,工程--屬性--vc++目錄--包含目錄,將mysql server\include的絕對路徑新增進去,例如c:\program files\mysql\mysql server 5.6\include。將mysql server\lib資料夾下的libmysql.lib和libmysql.dll拷貝到工程目錄下。
(也可以將include檔案整個拷貝到工程目錄下,然後在vc++目錄裡面設定相對路徑)
如果安裝的是wamp這種整合開發包,找不到include和lib也沒關係,隨便找個mysql免安裝版根目錄下的include資料夾和libmysql.lib以及libmysql.dll拷貝到工程目錄,然後設定vc++目錄即可。
新建乙個資料庫test,建立一張表user,如圖
注意有些字段需要改字元編碼為utf8或者gbk,防止中文亂碼。
2,為工程新增附加依賴項wsock32.lib和libmysql.lib,一種方式是工程--屬性--鏈結器--輸入--附加依賴項,另一種是在程式開頭用#pragma comment(lib,"***.lib")
3,為程式新增標頭檔案"mysql.h"和winsock.h
#include #include //一定要包含這個,或者winsock2.h
#include "include/mysql.h" //引入mysql標頭檔案(一種方式是在vc目錄裡面設定,一種是資料夾拷到工程目錄,然後這樣包含)
#include //包含附加依賴項,也可以在工程--屬性裡面設定
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")
mysql mysql; //mysql連線
mysql_field *fd; //欄位列陣列
char field[32][32]; //存欄位名二維陣列
mysql_res *res; //這個結構代表返回行的乙個查詢結果集
mysql_row column; //乙個行資料的型別安全(type-safe)的表示,表示資料行的列
char query[150]; //查詢語句
bool connectdatabase(); //函式宣告
void freeconnect();
bool querydatabase1(); //查詢1
bool querydatabase2(); //查詢2
bool insertdata();
bool modifydata();
bool deletedata();
int main(int argc,char **argv)
//連線資料庫
bool connectdatabase()
else }
//釋放資源
void freeconnect()
/***************************資料庫操作***********************************/
//其實所有的資料庫操作都是先寫個sql語句,然後用mysql_query(&mysql,query)來完成,包括建立資料庫或表,增刪改查
//查詢資料
bool querydatabase1()
else
//獲取結果集
if (!(res=mysql_store_result(&mysql))) //獲得sql語句結束後返回的結果集
//列印資料行數
printf("number of dataline returned: %d\n",mysql_affected_rows(&mysql));
//獲取欄位的資訊
char *str_field[32]; //定義乙個字串陣列儲存字段資訊
for(int i=0;i<4;i++) //在已知字段數量的情況下獲取欄位名
for(int i=0;i<4;i++) //列印字段
printf("%10s\t",str_field[i]);
printf("\n");
//列印獲取的資料
while (column = mysql_fetch_row(res)) //在已知字段數量情況下,獲取並列印下一行
return true;
}bool querydatabase2()
else
res=mysql_store_result(&mysql);
//列印資料行數
printf("number of dataline returned: %d\n",mysql_affected_rows(&mysql));
for(int i=0;fd=mysql_fetch_field(res);i++) //獲取欄位名
strcpy(field[i],fd->name);
int j=mysql_num_fields(res); // 獲取列數
for(int i=0;i執行結果:
C API 連線MySQL及批量插入
cmysqlmgr.h ifndef cmysqlmgr h define cmysqlmgr h include include mysql.h using namespace std class cmysqlmgr endif cmysqlmgr.cpp include cmysqlmgr.h ...
在VC6中使用c API方式連線MySQL資料庫
在vc6中使用c api方式連線mysql資料庫 2 設定vc6環境,在vc工具 選項 目錄,加入剛才的include資料夾的路徑,例如 c program files mysql mysql server 5.1 include 二 工程設定 3 將lib資料夾中的linmysql.lib和lib...
利用C API連線資料庫
1.mysql init 初始化mysql結構體 2.mysql real connect mysql mysql,const char host,const char user,const char passwd,const char db,unsigned int port,const char...