> 데이터 베이스 > MySQL 튜토리얼 > vc를 mysql 데이터베이스에 연결하는 방법

vc를 mysql 데이터베이스에 연결하는 방법

藏色散人
풀어 주다: 2020-10-26 15:34:09
원래의
2940명이 탐색했습니다.

mysql 데이터베이스를 vc와 연결하는 방법: 먼저 VC6을 열고 중간 목록 상자에 로컬로 설치된 MySQL의 포함 디렉터리 경로를 추가한 다음 "라이브러리 파일"을 선택하고 MySQL의 Lib 디렉터리 경로를 추가하고 마지막으로 프로그래밍을 수행합니다. 테스트.

vc를 mysql 데이터베이스에 연결하는 방법

추천: "mysql 비디오 튜토리얼"

1. MySQL 설치

Mysql 설치는 공식 웹사이트에서 다운로드할 수 있습니다. . . 최신 버전은 5.7입니다. .

2. VC6.0 설정

(1) 도구 모음의 도구 메뉴에서 0 옵션 옵션을 선택하고 오른쪽에 있는 "디렉터리 표시:" 드롭다운 목록을 선택합니다. 디렉터리 탭 "Includefiles"에서 중간 목록 상자에 로컬 MySQL 설치의 포함 디렉터리 경로를 추가합니다. 그림에 표시된 대로:

(2) 위에서 언급한 "다음에 대한 디렉터리 표시:" 드롭다운 목록에서 "라이브러리 파일"을 선택한 다음 로컬 MySQL의 Lib 디렉터리 경로를 추가합니다. 설치. 그림에 표시된 대로:

** 여기에 설명하고 싶습니다. 주의 깊은 사람들은 내 디렉터리가 이전 그림의 디렉터리와 다르다는 것을 알게 될 것입니다. 이는 libmysql.lib 오류 때문입니다. : 치명적인 오류 LNK1113: 잘못된 머신 잘못된 서버

이것은 vc가 32비트 프로그램을 개발하는데, mysql 데이터베이스가 64비트 프로그램을 사용하여 64비트 데이터베이스를 운영하기 때문입니다. 당신은 분명히 오류를 범할 것입니다. 아래에서 설명하겠습니다. 블로그 게시물에서 해결 방법을 자세히 설명할 것입니다.

(3) "프로젝트 설정->링크:객체/라이브러리 모듈"에 "libmysql.lib"를 추가합니다.议 建 (5) "libmysql.lib, libmysql.dll"을 빌드한 디렉터리에 복사하는 것이 좋습니다.
이 두 파일은 D:Mysqllib 디렉터리에 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿