vc 怎样连接mysql数据库

互联网 20-10-26

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数据库的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: vc
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:mysql如何查询以谁结尾

相关资讯