vc連接mysql資料庫的方法:先開啟VC6;然後在中間列錶框中新增本機安裝MySQL的include目錄路徑;接著選取「Library files」並新增MySQL的Lib目錄路徑;最後進行程式設計測試即可。
推薦:《mysql影片教學》
一、MySQL的安裝
Mysql的安裝去官網下載就可以。 。 。最新的是5.7版本。 。
二、VC6.0的設定
#(1)開啟VC6.中選0 工具列Tools選單下的Options選項,在Directories的標籤頁中右邊的“Show directories for:”下拉清單中“Includefiles”,然後在中間列錶框中新增你本機安裝MySQL的include目錄路徑。如圖:
#(2)在上面所說的「Show directories for:」下拉清單中選取“Library files”,然後新增你本地安裝MySQL的Lib目錄路徑。如圖:
#**這裡要說明一下:細心的人會發現我的這個目錄和上一個圖中的不一樣,這是因為這個錯誤:libmysql.lib : fatal error LNK1113: invalid machine 無效的伺服器
這是因為vc開發的是32位元的程式,而mysql資料庫是64位元導致的,你用32位元的程式去操作64位元的資料庫一定會出錯,我在下一篇文章中將詳細說明怎麼解決。
(3)在「Project settings->Link:Object/library modules」裡面加上「libmysql.lib」。
(5)建議將「libmySQL.lib、libmySQL.dll」拷到你所建立的工程的目錄下。
這兩個檔案在D:\Mysql\lib目錄下。
三、程式實作
1. 一個簡單的小程序,看看是否能連接成功。 。 。
#include <stdio.h> #include <windows.h> #include <mysql.h> int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }
mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)//myuser是我的用戶名,「123456」是密碼,「student_db」是資料庫,3306是連接埠號碼
2.實作查詢小程式
// test.cpp : Defines the entry point for the console application. // #include <stdio.h> #include <windows.h> #include "StdAfx.h" #include <winsock.h> #include <iostream> #include <string> #include <mysql.h> using namespace std; //不需要单步调试的就注释掉 //#define STEPBYSTEP void pause(){ #ifdef STEPBYSTEP system("pause"); #endif } void writeToFile(const char *s) { FILE *fp=fopen("info.txt","rw"); fprintf(fp,s); fclose(fp); } /* int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }*/ int main(int argc, char* argv[]){ cout<<"start...."<<endl; pause(); MYSQL mysql; if(0==mysql_library_init(0,NULL,NULL)) { cout<<"mysql_library_init succeed"<<endl; }else{ cout<<"mysql_library_init failed"<<endl; return -1; } pause(); if(NULL!=mysql_init(&mysql)) { cout<<"mysql_init succeed"<<endl; }else{ cout<<"mysql_init failed"<<endl; return -1; } pause(); if(0==mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312")) { cout<<"mysql_option succeed"<<endl; }else{ cout<<"mysql_option failed"<<endl; return -1; } pause(); if(NULL!=mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) { cout<<"mysql_real_connect succeed"<<endl; }else{ cout<<"mysql_real_connect failed"<<endl; return -1; } pause(); string sql; sql="select * from sgroup"; MYSQL_RES *result=NULL; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query select succeed"<<endl; result=mysql_store_result(&mysql); int rowcount=mysql_num_rows(result); cout<<"row count:"<<rowcount<<endl; unsigned int fieldcount=mysql_num_fields(result); MYSQL_FIELD *field=NULL; for(unsigned int i=0;i<fieldcount;i++) { field=mysql_fetch_field_direct(result,i); cout<<field->name<<"\t\t"; } cout<<endl; MYSQL_ROW row=NULL; row=mysql_fetch_row(result); while(NULL!=row) { for(int i=0;i<fieldcount;i++){ cout<<row[i]<<"\t\t"; } cout<<endl; row=mysql_fetch_row(result); } }else{ cout<<"mysql_query select data failed"<<endl; mysql_close(&mysql); return -1; } pause(); /*sql="drop table user_info"; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query drop table succeed"<<endl; }else{ cout<<"mysql_query drop table failed"<<endl; mysql_close(&mysql); return -1; } */ mysql_free_result(result); mysql_close(&mysql); mysql_server_end(); system("pause"); return 0; }
執行結果:
# 至此連線成功。 。哈哈。 。
以上是vc 怎樣連接mysql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!