• ADADADADAD

    vc 连接mysql数据库的方法[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 10:08:23

    作者:文/会员上传

    简介:

    vc连接mysql数据库的方法:首先打开VC6;然后在中间列表框中添加本地安装MySQL的include目录路径;接着选中“Library files”并添加MySQL的Lib目录路径;最后进行编程测试即可。一

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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"); 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 STEPBYSTEPvoid pause(){#ifdef STEPBYSTEPsystem("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;}

      运行结果:

    vc 连接mysql数据库的方法.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: vcmysql