一、开发环境

Win8.1 64位、VS2013、MySQL5.5.3764位

MySQL安装目录为:C:/Program Files/MySQL/MySQL Server 5.5二、配置工程环境

首先创建一个控制台空项目,打开VS2013,文件--> 新建项目 --> 常规 --> 选择“空项目”

因为我们要使用MySQL数据库的API接口编程,所以需要将工程的附加头文件搜索目录和附件库文件搜索目录,指向MySQL安装目录对应的位置,下面是我机子上mysql库和头文件目录:

将VS2013工程的附加头文件目录和附加库目录指向上面两个目录。

1> 配置头文件目录

打开工程配置属性窗口--> C/C++ --> 常规 --> 附加包含目录,把mysql的include目录添加到附加包含目录中,如下图所示:

2> 配置库文件目录

打开工程配置窗口--> 链接器--> 常归 --> 附加库目录,把mysql的lib目录添加到附加库目录中,如下图所示:

打开工程配置窗口--> 链接器--> 输入-->附中依赖项,打libmysql.lib静态库添加到工程编译依赖项,如下图所示:

将libmysql.dll动态库拷贝到工程的根目录或Debug目录下:

三、测试开发环境#include #include #include #include void testQuery(MYSQL *mysql);// 测试查询数据void main(){MYSQL *mysql = NULL;/*初始化MYSQL连接句柄*/mysql = mysql_init((MYSQL *)0);if (!mysql){return;}/*连接数据库,连接成功返回conn,否则返回NULL参数1:mysql_init初始化数据库返回的MYSQL句柄参数2:数据库服务器地址参数3:数据库用户名参数4:数据库密码参数5:数据库名称参数6:数据库端口,为0表示默认3306参数7:如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型参数8:通常是0*/mysql = mysql_real_connect(mysql, "localhost","root", "root", "test", 0, NULL, 0);if (mysql){printf("connection succellfull the database!/n");}else{printf("connection error:%d, %s/n",mysql_errno(mysql), mysql_error(mysql));}// 查询数据testQuery(mysql);// 关闭连接mysql_close(mysql);system("pause");}// 测试查询void testQuery(MYSQL *mysql){MYSQL_ROW row;MYSQL_RES *res = NULL;MYSQL_FIELD *fields = NULL;int i, field_count;char *sql = "select * from t_user";int flag = mysql_real_query(mysql, sql, (unsigned long)strlen(sql));if (flag){printf("Query error:%d, %s/n",mysql_errno(mysql), mysql_error(mysql));return;}// 将查询结果读到内存当中res = mysql_store_result(mysql);// 获取结果集中的所有字段fields = mysql_fetch_fields(res);// 字段数量field_count = mysql_field_count(mysql);for (i = 0; i < field_count; i++){printf("%s/t", fields[i].name);}printf("/n");// 遍历结果集的每一行数据while (row = mysql_fetch_row(res)){for (i = 0; i < field_count; i++){printf("%s/t", row[i]);}printf("/n");}}

mysql测试数据及表结构:DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) DEFAULT NULL,`age` int(11) DEFAULT NULL,`address` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;LOCK TABLES `t_user` WRITE;INSERT INTO `t_user` VALUES (1,'zhangsan',22,'hunan'),(2,'lisi',30,'beijin');UNLOCK TABLES;测试结果:

小结配置步聚:

1> 安装mysql

2> 创建VS工程,配置工程头文件(mysql.h所在目录)和库文件(libmysql.lib所在目录)附加目录,指向mysql对应的目录

3> 将libmysql.dll动态库拷贝到工程根目录或Debug目录

4> 编写测试程序,验证C连接Mysql数据库

----------------------------------------------------------------------优雅的分割线------------------------------------------------------------------------------------

常见错误:

1、main.obj : error LNK2019: 无法解析的外部符号 mysql_init。。。。。

原因是没有在工程当中添加libmysql.lib配置,配置库文件目录

2、无法启动此程序,因为计算机中丢失libmyslq.dll。。。。

将libmysql.dll动态库拷贝到工程的根目录或Debug目录下。

3、未引入windows.h头文件,因为在windows连接mysql是通过socket方式与数据库进行通信的

4、main.obj : error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用.....

数据库位数与编译位数不一致,导致在链接时mysql的库函数找不到,比如:我的mysql是64位,提供的库当然是64位的,如果你在VS上用32位的平台去编译就会造成链接时出错。

修改编译平台,工程-->属性-->配置管理器-->在解决方案的工程列表中选择对应的项目,并将其修改成32位或64位,如果没有就新建一个。

工程源码下载:Windows平台C连接MySQL数据库

参考文档:

C/C++连接MySql数据库

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql安装连接测试c_C连接MySQL数据库开发之Windows环境搭建及测试_MySQL相关推荐

  1. C连接MySQL数据库开发之Windows环境配置及测试

    一.开发环境 Win8.1 64位.VS2013.MySQL5.5.3764位 MySQL安装目录为:C:\Program Files\MySQL\MySQL Server 5.5 二.配置工程环境 ...

  2. Android 开发之Windows环境下Android Studio安装和使用教程(图文详细步骤)

    鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下. 一.介绍Android Studio  Android Studio 是一个Android开发环境,基于Intel ...

  3. 区块链开发之windows环境配置

    开发去中心化区块链应用必须按照下面的步骤来配置开发环境,下面罗列的工具一个都不能少,而且请严格按照下面的顺序进行安装. 1. 安装node.js.这一步非常简单,按照windows安装向导一路next ...

  4. RTT开发之windows 环境配置

    1. 安装python 有些文章说支持2.7, 实测3.9环境也是OK的 2. 安装scons组件 其他文章多是下载安装,实际操作麻烦还成功率低, 直接pip安装 pip install scons ...

  5. 区块链开发之Truffle环境搭建

    前言 truffle是以太坊目前最流行的一个开发框架,通过truffle我们可以开发基于以太坊的去中心化应用(Dapp).这篇文章介绍如何安装truffle并运行第一个Dapp程序. 预备环境要求: ...

  6. ESP8266-NodeMCU物联网开发之Arduino环境搭建

    Arduino教程传送门

  7. JSP开发之TomcatEclipse环境搭建(创建项目运行一个简单的jsp文件)

    通过之前的内容,咱们现在已经安装好了Tomcat服务器了,但是为了项目创建和扩展,咱们还需要使用Eclipse这个东西来搭建一个编码环境.废话不多说,咱们可以在https://www.eclipse. ...

  8. AutoCAD二次开发之ObjectARX环境搭建(AutoCAD2017 VS2015 Win10)

    CAD二次开发环境搭建详细介绍 最近进行CAD二次开发的研究,发觉网上看起来像是很多资料但是实用的不多,而且有些资料还特别的旧.在本篇文件中,我将最近自己的学习跟大家分享一下.另外还会附上简单的资料. ...

  9. php pdo 与对比mysql,php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例...

    php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例 本文实例讲述了php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率.分享给大家供大家参考,具体如下: ...

最新文章

  1. 线程池的一些疑问和解答
  2. 分布式任务调度平台XXL-JOB本地配置可能遇到的问题和解决方案
  3. n76e003引脚图_N76E003的学习之路(一)
  4. 准备Java面试?mysql用户远程访问授权
  5. csdn博客怎么修改字体的大小和颜色
  6. zabbix如何监控ip地址_Zabbix主动模式监控动态IP服务器
  7. mysql5.7.20+初始化_MySQL5.7.28 初始化数据库
  8. [转贴]IT外包服务商如何构建高效率的服务台运营机制
  9. java List实体排序
  10. Linux 远程开机(walk on lan)
  11. 密钥分离,.Net程序猿不再背锅
  12. vue菜鸟从业记:完成项目最后一公里之真机测试和打包上线
  13. springmvcget中文乱码_解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题...
  14. banana pro 板子
  15. linux---多线程---信号量--不懂
  16. 搜狗收录查询工具,搜狗收录就应该这么做
  17. linux查ip出现fe80,ubuntu IP出现inet6 addr :fe80::20c:29ff:fe47:fd61/64 scope:l
  18. html链接变灰,怎么在HTML中设置点击超链接后变成灰色
  19. NDK中LOCAL_SHARED_LIBRARIES
  20. 最适合家用的洗地机哪个牌子好?家用洗地机品牌排行榜

热门文章

  1. 用StatSVN统计SVN服务器项目的代码量
  2. Android适配全面总结(二)
  3. 【javascript系列】字符串:字符串单个字符访问
  4. 利用openssl签署多域名证书
  5. poj 2677 tour
  6. 程序员入职锦囊妙计 --读书笔记
  7. CComboBox 置空
  8. POJ2828 Buy Tickets【线段树,逆序遍历】
  9. 通过WebAssembly在浏览器运行PHP
  10. Android 中文 SDK (47) —— Filter