VC++6.0连接MYSQL数据库

来源:互联网 发布:c语言!=eof 编辑:程序博客网 时间:2024/05/28 23:22

转自:http://blog.chinaunix.net/uid-20767210-id-1849630.html

//下面的代码是一个实现C++连接MYSQL数据库的很好的例子
//
这里用了建表,插入,检索,删表等常用功能
//
我用VC++6.0生成,已经成功连接了。
//
VC++6.0中要想把做一下两步准备工作才可以。
//(1)Tools->Options->Directories->Include files
中添加C:\Program Files\MySQL\MySQL Server 6.0\include
//(2)Tools->Options->Directories->Library files
中添加
C:\Program Files\MySQL\MySQL Server 6.0\lib
//
其实就是将头文件和库文件包含进来
//
我觉得这个例子写的很好,再结合自己的试验,特地介绍给大家!

#include <winsock.h>#include <iostream>#include <string>#include <mysql.h>using namespace std;#pragma comment (lib,"ws2_32.lib")#pragma comment(lib,"libmysql.lib")//不需要单步调试的就注释掉//#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(){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","root","123456","user",3307,NULL,0)){cout<<"mysql_real_connect succeed"<<endl;}else{cout<<"mysql_real_connect failed"<<endl;return -1;}pause();string sql;sql="create table if not exists user_info(";sql+="user_id int not null auto_increment primary key,";sql+="user_name varchar(100) default NULL,user_second_sum int not null default 0)";cout<<sql<<endl;//writeToFile(sql.c_str());if(0==mysql_query(&mysql,sql.c_str())){cout<<"mysql_query create table succeed"<<endl;}else{cout<<"mysql_query create table failed"<<endl;mysql_close(&mysql);return -1;}pause();sql ="insert into user_info(user_name) values('公司名称'),('一级部门'),('二级部门'),('开发小组'),('姓名');";if(0==mysql_query(&mysql,sql.c_str())){cout<<"mysql_query insert succeed"<<endl;}else{cout<<"mysql_query insert failed "<<endl;mysql_close(&mysql);return -1;}pause();sql="select user_id,user_name,user_second_sum from user_info";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;}




原创粉丝点击