C++&&Mysql配置及例子

来源:互联网 发布:宿迁网络问政12345下载 编辑:程序博客网 时间:2024/06/05 23:48

一,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 中被引用

 

 

 

原因如下,我使用的系统是win7x64,MySQL 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;}

八,结果

 



 

 


0 0
原创粉丝点击