vc 怎樣連接mysql資料庫

藏色散人
發布: 2020-10-26 15:34:09
原創
2825 人瀏覽過

vc連接mysql資料庫的方法:先開啟VC6;然後在中間列錶框中新增本機安裝MySQL的include目錄路徑;接著選取「Library files」並新增MySQL的Lib目錄路徑;最後進行程式設計測試即可。

vc 怎樣連接mysql資料庫

推薦:《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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!