VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!

来源:互联网 发布:北京纸箱厂 淘宝彩色 编辑:程序博客网 时间:2024/05/22 01:59

前言:

由于最近感觉VC6,很老了,想尝试一下新的IDE,于是就在网上下载了VS2008以及VS2012,考虑到以后大学毕业后,用VS2012的可能性更大,所以选择了VS2012。但是,就在使用VS2012的第一步,就很艰难。之前在VC6上,使用MYSQL的API,很简单的就能够连接到数据库。但是这次,我足足花费了4天的时间,在网上查阅了很多的资料,才堪堪参考了别人的文章,使用API的方式连接上了数据库。这是第一次写博客,该篇的内容有:1,使用API连接数据库。2,使用connector c++的问题。


正文一:(如何使用MYSQL的API函数连接数据库)

这里我先把我参考的文章的地址贴出来,同时也谢谢该博主。http://blog.csdn.net/hngchiming/article/details/8256587...文章名:Visual Studio 2012 C++ Mysql LNK2019 error


第一步:配置(其实,使用MySQL的API连接数据库,配置相当简单)

 属性->C/C++->常规->附加包含目录:D:\Program Files\MySQL\MySQL Server 5.6\include, 我的数据库目录在D盘,读者根据自己的实际情况。

属性->链接器->常规->附加库目录:D:\Program Files\MySQL\MySQL Server 5.6\lib

属性->链接器->输出->附加依赖项:libmysql.lib;

第二步:修改编译平台,改为x64(说明:我使用的是64位系统,数据库使用的也是64位的,但是我们创建的项目确实32位的控制台应用程序,这样的话肯定会编译失败,所以我们需要修改编译平台)



点击配置管理器,中的新建



在新建解决方案中选择x64,确定。


至此,就可以成功编译使用了.

第三步:编写代码

stdafx.h文件中,添加#include "winsock.h"  #include "mysql.h" #pragma comment(lib,"libmySQL.lib")  三项。

下面附上main中的代码:

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){MYSQL *sock;   MYSQL_RES *results;   MYSQL_ROW record; char *host = "localhost";   char *user = "root";   char *pass = "biezhihua";   char *db = "test";   sock = mysql_init(0);  if (!sock){;}if (!mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0)){;}mysql_set_character_set(sock,"gb2312"); if(mysql_query(sock,"select * from teacher "))   {   ;}   results=mysql_store_result(sock);while (record = mysql_fetch_row(results)){cout<<record[1];cout<<record[2];}mysql_close(sock);system("pause");return 0;}//  这段代码只是为了简单的演示,并没有做过多的修饰。在执行项目之前, 不要忘记创建对应的表

总结:API连接与之前版本唯一的不同,就是 修改编译平台。


正文二:在这四天中,使用 mysql-connector-c++-1.1.3遇到的问题。

参考的文章有:

http://blog.qiwen.name/2013/01/build-mysql-connector-c-111-in-vs2012.html  文章名:QI Wen 记录学习点滴: 当MySQL遇到VS2012:编译MySQL Connector C++ 1.1.1 for VS2012

http://blog.csdn.net/liuyan4794/article/details/8604932   文章名:VS2010编译mysql-connector-c++ - 青牛的专栏 - 博客频道 - CSDN.NET

http://stackoverflow.com/questions/13309900/building-mysql-connector-c-from-source-cant-find-boost-libraries-error  文章名:Building MySQL Connector/C++ from source (can't find Boost libraries error) - Stack Overflow

发生的问题:

一、boost的配置问题,在第一篇文章中,安装Boost就遇到了问题。我按照他文章做,但是遇到错误。

错误原因是:路径配置错误,需要在系统环境变量中添加BOOST_ROOT ,值位解压的根目录,xxx\boost_1_54_0

二、编译自己的connector c++ 1.1.3 dll、lib文件遇到问题。我第一次进行编译的时候,很顺利的编译出了mysqlcppconn-static.lib,mysqlcppconn.dll,mysqlcppconn.lib三个文件,并按照文章,配置环境,添加文件,但是在最后生成解决方案时候,还是出现了LINK 2019错误。由于弄了4天了,今天打算弄最后一次,但是这次使用 cmake -G "Visual Studio 11 Win64" 命令时,去出现对了警告,根本没有编译结果,在网上查了很久,也没有相似的例子。


 结尾: 其实还是想使用connector c++ 来连接数据库,如果有哪位同学,知道如果连接或者方法,请联系我。谢谢




原创粉丝点击