windows上mysql在VS中的使用

第一步, 安装:

   只需要安装mysql服务器以及向导配置mysql环境, 配置环境最后一步的出错处理:

http://jingyan.baidu.com/article/3f16e003c54e152590c10378.html

mysql安装最后一步error nr.1045解决方法


mysql安装最后一步error nr.1045搞得

方法/步骤

  1. 1

    手动停止mysql服务。

  2. 2

    MySQL\MySQL Server 5.0\  目录下的my.ini文件,在[mysqld]下添加

        skip-grant-tables

    mysql安装最后一步error nr.1045解决方法
  3. 3

    启动mysql服务后就可以以空密码登录,

    务必修改root密码

    mysql安装最后一步error nr.1045解决方法
  4. 4

    把 skip-grant-tables  这一句删掉MySQL\MySQL Server 5.0\  目录下的my.ini文件)

  5. 5

    重启mysql服务。



第二步, 在VS环境(C++语言)中的使用(C++项目的平台(Win32或者X64)必须与mysql的安装的版本匹配, 可以不与操作系统的版本(64位)匹配):


http://blog.csdn.net/xiongwenwu/article/details/12870983


由于我们要使用Mysql的API,并且我们机子上肯定安装了Mysql数据库,所以我们要将工程的头文件路径指向Mysql安装目录的同文件mysql.h所在的位置,将连接库路径指向libmysql.lib所在的路径,

在我的机子上,Mysql 的安装路径为:C:\mysql\mysql-5.6.14-winx64\include,C:\mysql\mysql-5.6.14-winx64\lib和下面图片不符,自己找自己的目录

高版本的mysql可能没有opt这个目录层次了,只要找到libmysql.lib这个目录就行

windows上mysql在VS中的使用_第1张图片

windows上mysql在VS中的使用_第2张图片

我们需要把VS2008的工程中的头文件路径和连接库路径指向上面的两个地方:

 

 

将x项目属性页的C/C++->常规->附加包含目录指向:C:\mysql\mysql-5.6.14-winx64\include

windows上mysql在VS中的使用_第3张图片

 

将项目属性页的链接器->常规->附加库目录指向:C:\mysql\mysql-5.6.14-winx64\lib

windows上mysql在VS中的使用_第4张图片

将链接器->输入->附加依赖项中添加libmysql.lib。

windows上mysql在VS中的使用_第5张图片


以下为自己代码

代码:

//头文件包含

#include "winsock.h" 
#include "mysql.h" 


//#pragma comment(lib, "libmysql.lib")
//#pragma comment(lib,"C:\\Program Files\\MySQL\\MySQL Server 5.5\\lib\\libmysql.lib")
#pragma comment (lib, "libmysql.lib") 
#pragma comment (lib, "mysqlclient.lib")

//代码

MYSQL * dbCon; //= mysql_init((MYSQL*) 0); 
MYSQL_RES *dbRes;
MYSQL_ROW dbRow;
bool connDbOK=false;


char szDbName[32] = "StockAnalyse";


dbCon = mysql_init((MYSQL*) 0); 
if ( dbCon !=NULL && mysql_real_connect(dbCon,"localhost","root","123456",szDbName,3306,NULL,0) ) 

if (!mysql_select_db(dbCon,szDbName)) 
{
connDbOK = true;
}
}


CString strErr;
char szSQL[2048];
_snprintf(szSQL, sizeof(szSQL), "insert into tradeVolumeStat values(%d, %f, %f, %f, %f , '%s', '%s', %f, %f, %f, %f, %f)", 
m_nDaysCalLength, m_fPriceDropAmpl, m_fSmallestVolRatio,m_fPriceStrongThres, m_fPriceRiseAmpl, 
pStock->GetStockCode(), strDate.GetBuffer(strDate.GetLength()), priceInfo0.closePrice, ampl1, ampl2, ampl3, ampl4);
if(connDbOK)
{
int rt = mysql_real_query(dbCon,szSQL,strlen(szSQL));
if (rt)
{
strErr.Format(_T("Error making query: %s "), mysql_error(dbCon));
AfxMessageBox(strErr);  
}
}

你可能感兴趣的:(C++,数据库,windows)