C++&&Mysql配置及例子

9 篇文章 0 订阅

 

一,Mysql驱动动(64位):mysql-connector-c-6.1.2-winx64.msi(这个地方http://download.csdn.net/detail/ld326/7764079可以下载)

二,mysql安装目录下的include文件夹和lib文件:

三,选择属性(下图显示的东西),分别在”c/c++”->常规,连接器”->常规附加包含目录直接填入“d:\mysqlc\include;d:\mysqlc\lib”(这两个文件夹找一下)。lib文件夹中会有libmysql.dlllibmysql.lib;同一目录会有include文件。

 

关注问题:

1.头文件(include路径、lib放的目录):


 

 

2. lib的加载工具(libmysql.lib



 

 

 

3.库加入来要连接的目录(lib放的目录【前面那个也可以】)

 



 

 

关注4

 

复制“libmysql.dll”“c:\windows”目录下面

 

出现问题1

 

error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
error LNK2019:
无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用
error LNK2019:
无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
error LNK2019:
无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用

 

 

 

原因如下,我使用的系统是win7x64MySQL 64位的lib也是64位的接口。所以解决方法如下:
项目->属性->配置管理器->活动解决方案平台->下拉选新建->出现一个新的对号框->在键入选择新平台中选择X64

 

(平台是64位的注意了)



 

 

四,数据库数据(SQL版)

#
# Source for table "student"
#

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `Id` int(11) NOT NULL auto_increment,
  `sname` varchar(54) character set gbk default 'abc',
  PRIMARY KEY  (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;

#
# Data for table "student"
#

INSERT INTO `student` VALUES (1,'abc'),(2,'123');

 

五,mysql数据库表:



 
六,连库需要的信息:

 

MYSQL *		STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
					   const char *user,
					   const char *passwd,
					   const char *db,
					   unsigned int port,
					   const char *unix_socket,
					   unsigned long clientflag);

 

七,代码:

#include "stdafx.h"
#include "mysql.h"
#include "winsock.h" 
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	MYSQL *mysql;   
	mysql = mysql_init(NULL);    
	char *sql= "select Id, sname from student";
	MYSQL_RES *result;
	MYSQL_ROW row;
	int r, num;
	if(mysql_real_connect(mysql, "localhost", "root", "123456", "mydb", 3306, NULL, 0))
	{
		mysql_set_character_set(mysql, "gbk");
		if(!mysql_query(mysql, sql))
		{
			result=mysql_store_result(mysql);
			if(result==NULL) 
				return 1;
			num = mysql_num_fields(result);            
			unsigned long *lengths = mysql_fetch_lengths(result);
			while(row = mysql_fetch_row(result))
			{
				for(r = 0; r < num; r++)
				{
					cout << row[r] <<' ';
				}
				cout << endl;
			}
			mysql_free_result(result);
		}
		mysql_close(mysql);
	}
	system("pause");
	return 0;
}

 

八,结果

 



 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值