windows 连接mysql_windows下C++连接mysql

平台:windows c/c++

编译器:vs2017

项目设置:项目属性页:

1.C/C++ ->常规->附加包含目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include 这里是我的目录,具体找自己安装目录下的include

2.链接器->常规->附加库目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib

3.链接器->输入->附加依赖项->libmysql.lib

配置完成。

测试代码:

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include "mysql.h"

#include

using namespace std;

int main(int argc,char* argv[])

{

MYSQL mysql; //必备的数据结构

//初始化数据结构

MYSQL* sqlinit=mysql_init(&mysql);

if (sqlinit == NULL)

{

cout << "mysql init failed!" << endl;

return -1;

}

//初始化数据库 int STDCALL mysql_server_init(int argc, char **argv, char **groups);

if (0 == mysql_server_init(argc, argv, 0))

{

cout << "mysql_server_init succeed!" << endl;

}

else

{

cout << "mysql_server_init failed!" << endl;

return -2;

}

//设置连接选项  避免中文无法处理

// mysql_option 枚举类型

if (0 == mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))

{

cout << "mysql_options succeed!" << endl;

}

else

{

cout << "mysql_option failed!" << endl;

return -3;

}

//连接数据库

if (NULL != mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0))

{

cout << "mysql connect succeed" << endl;

}

else

{

cout << "mysql connect failed" << endl;

return -4;

}

//strsql 用于储存Sql语句

string strsql;

strsql = "CREATE TABLE IF NOT EXISTS `testtable2`(";

strsql += "`runoob_id` INT UNSIGNED AUTO_INCREMENT,";

strsql += "`runoob_title` VARCHAR(100) NOT NULL,";

strsql += "`runoob_author` VARCHAR(40) NOT NULL,";

strsql += "`submission_date` DATE,";

strsql += "PRIMARY KEY(`runoob_id`)";

strsql += ")ENGINE = InnoDB DEFAULT CHARSET = utf8; ";

if (0 == mysql_query(&mysql, strsql.c_str()))

{

cout << "mysql_query succeed!" << endl;

}

else

{

cout << "mysql_query failed!" << endl;

return -5;

}

//向表中插入数据

char buf[1024];

//strsql = "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(0, 'MYSQL', 'Orcale', '2017-6-9'); ";

sprintf(buf, "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(%d, 'MYSQL', 'Orcale', '2017-6-9'); ", 0);

if (0 == mysql_query(&mysql, buf))

{

cout << "mysql_query succeed!" << endl;

}

else

{

cout << "mysql_query failed!" << endl;

return -5;

}

//查询

string query;

MYSQL_RES* result = NULL;

query = "select *from testtable1 where runoob_id=1";

if (0 == mysql_query(&mysql, query.c_str()))

{

cout << "mysql_query succeed!" << endl;

result=mysql_store_result(&mysql);

//取得并打印行数

my_ulonglong rowcount = mysql_num_rows(result);

cout << "row count: " << rowcount << endl;

//取得各个字段

unsigned int fieldcount = mysql_field_count(&mysql);

for (unsigned int i = 0; i < fieldcount; i++)

{

MYSQL_FIELD* field = mysql_fetch_field_direct(result, i);

cout << field->name << i << endl;

}

}

else

{

cout << "mysql_query failed" << endl;

mysql_close(&mysql);

return -6;

}

//清理

mysql_free_result(result);

mysql_close(&mysql);

mysql_server_end();

system("pause");

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值