ホームページ > データベース > mysql チュートリアル > vcをmysqlデータベースに接続する方法

vcをmysqlデータベースに接続する方法

藏色散人
リリース: 2020-10-26 15:34:09
オリジナル
2929 人が閲覧しました

vc を mysql データベースに接続する方法: まず VC6 を開き、次にローカルにインストールされた MySQL のインクルード ディレクトリ パスを中央のリスト ボックスに追加し、次に「ライブラリ ファイル」を選択して MySQL の Lib ディレクトリ パスを追加します。最後にプログラミングテストを実行します。

vcをmysqlデータベースに接続する方法

# 推奨: 「mysql ビデオ チュートリアル #」

1. MySQL のインストール

MySQL をインストールするには、公式 Web サイトにアクセスしてダウンロードするだけです。 。 。最新はバージョン 5.7 です。 。

2. VC6.0 の設定

(1) VC6 を開き、ツールバーの [ツール] メニューで [0 オプション] を選択します。 [ディレクトリ] タブの右側にある [ディレクトリの表示:] ドロップダウン リスト で [インクルードファイル] を選択し、ローカルにインストールされた MySQL のインクルード ディレクトリ パスを中央のリスト ボックスに追加します。図に示すように:

(2) [次のディレクトリを表示] ドロップダウンで上記のリスト 「ライブラリ ファイル」を選択し、ローカルの MySQL インストールに Lib ディレクトリ パスを追加します。図に示すように:

**ここで説明したいと思います。慎重な人は、私のディレクトリがディレクトリとは異なることに気づくでしょう。前の図と同じですが、これは次のエラーが原因です: libmysql.lib: 致命的なエラー LNK1113: 無効なマシン 無効なサーバー

これは、vc が 32- bitプログラムで、MySQLデータベースが64ビットであることが原因です。64ビットデータベースを32ビットプログラムで操作すると必ずエラーが発生します。解決方法は次回のブログで詳しく説明します役職。

(3) 「プロジェクト設定->リンク:オブジェクト/ライブラリモジュール」に「libmysql.lib」を追加します。

(5) 「libmySQL.lib、libmySQL.dll」をビルドしたプロジェクトのディレクトリにコピーすることを推奨します。

これら 2 つのファイルは D:\Mysql\lib ディレクトリにあります。

3. プログラミングの実装

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート