共計 3297 個字符,預計需要花費 9 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關 vc 連接 mysql 數據庫的方法的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考。一起跟隨丸趣 TV 小編過來看看吧。
vc 連接 mysql 數據庫的方法:首先打開 VC6;然后在中間列表框中添加本地安裝 MySQL 的 include 目錄路徑;接著選中“Library files”并添加 MySQL 的 Lib 目錄路徑;最后進行編程測試即可。
一、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();
return 0;
}
運行結果:
感謝各位的閱讀!關于 vc 連接 mysql 數據庫的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節丸趣 TV 網 – 提供最優質的資源集合!