您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 自贡分类信息网,免费分类信息发布

vc 怎样连接mysql数据库

2024/3/6 13:28:05发布17次查看
vc连接mysql数据库的方法:首先打开vc6;然后在中间列表框中添加本地安装mysql的include目录路径;接着选中“library files”并添加mysql的lib目录路径;最后进行编程测试即可。
推荐:《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数据库的详细内容。
自贡分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录