共计 3297 个字符,预计需要花费 9 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关 vc 连接 mysql 数据库的方法的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。
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
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();
return 0;
}
运行结果:
感谢各位的阅读!关于 vc 连接 mysql 数据库的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
向 AI 问一下细节丸趣 TV 网 – 提供最优质的资源集合!