C/C++连接MySQL数据库本文对如何使用MySql的API连接MySql数据库,开发环境为VS2008.
一、VS2008工程设置工作首先,建立一个windows应用程序的工程,将C/C++->预处理器->预处理器定义下的_WINDOWS改为_CONSOLE,
文章插图
将连接器->系统->子系统 选择为控制台 。
文章插图
由于我们要使用Mysql的API,并且我们机子上肯定安装了Mysql数据库,所以我们要将工程的头文件路径指向Mysql安装目录的同文件mysql.h所在的位置,将连接库路径指向libmysql.lib所在的路径,
在我的机子上,Mysql 的安装路径为:C:Program FilesMySQLMySQL Server 5.1
文章插图
文章插图
我们需要把VS2008的工程中的头文件路径和连接库路径指向上面的两个地方:
将x项目属性页的C/C++->常规->附加包含目录指向:C:Program FilesMySQLMySQL Server 5.1include
文章插图
将项目属性页的链接器->常规->附加库目录指向:C:Program FilesMySQLMySQL Server 5.1libopt.
文章插图
将链接器->输入->附加依赖项中添加libmysql.lib 。
文章插图
如果不设置链接器->输入->附加依赖项中添加libmysql.lib,那么会出现如下的错误:1>------ 已启动全部重新生成: 项目: MySql-Connect, 配置: Debug Win32 ------
1>正在删除项目“MySql-Connect”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>MySql_Connect.cpp
1>x:编程练习c-c++cmysql_connect.cpp(35) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:program filesmicrosoft visual studio 9.0vcincludestdio.h(306) : 参见“scanf”的声明
1>x:编程练习c-c++cmysql_connect.cpp(72) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:program filesmicrosoft visual studio 9.0vcincludestdio.h(366) : 参见“sprintf”的声明
1>x:编程练习c-c++cmysql_connect.cpp(86) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:program filesmicrosoft visual studio 9.0vcincludestdio.h(366) : 参见“sprintf”的声明
1>正在编译资源清单...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>正在链接...
1>LINK : 没有找到 d:我的文档Visual Studio 2008ProjectsMySql-ConnectDebugMySql-Connect.exe 或上一个增量链接没有生成它;正在执行完全链接
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_free_result@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_num_fields@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_fetch_row@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_store_result@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_error@4,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_real_query@12,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_select_db@8,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
1>MySql_Connect.obj : error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
推荐阅读
- CenterOS 7.5下Mysql Cluster 7.6.12高可用集群搭建
- c++多线程编程
- C++友元函数和友元类用法详解
- mysql 连接驱动问题
- pointer-like class C++|封装裸指针为像指针的类
- C++list的使用总结及常用list操作
- PHP如何像查询MySQL数据库一样查询数组内容
- MySQL查漏补缺
- MySQL 数据库铁律
- MySQL的5种时间类型的比较