日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

vc6.0连接mysql数据库

發布時間:2025/1/21 数据库 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vc6.0连接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");elseprintf("\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");elseprintf("\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; }

  運行結果:

?至此連接成功。。哈哈。。

總結

以上是生活随笔為你收集整理的vc6.0连接mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。