c mysql.h下载_windows+vs2017+C语言 引入mysql.h对MYSQL数据库的操作

windows+vs2017+C语言 引入mysql.h对MYSQL数据库的操作

发布时间:2018-09-04 22:46,

浏览次数:451

, 标签:

windows

vs

mysql

<>(第一次写博客)

因为用的是wampserver,自带安装的mysql没有include的库

没有mysql.h文件 无法调用mysql的东西 也无法用C语言对MYSQL操作

引用某大佬的CSDN博客的做法(也找了很久试了很多方法)

去这个连接

https://downloads.mysql.com/archives/c-c/

把这玩意.zip下载下来,解压。

把里面的include和lib文件复制粘贴到VS工程的根目录下面

之后还有

在这里声明新引入的include文件 这样工程就可以根据这个路径去寻找新添加的头文件

即mysql.h

之前看大佬的博客路径用的是…/include

我试了用不了 我之后直接把整套路径写进去 简单粗暴无脑

还有一步,就是去lib文件夹下面的libmysql.dll和libmysql.lib

复制粘贴这两个文件到工程的根目录下面

在VS头文件声明#pragma comment(lib,“libmysql.lib”)

在程序中就可以引用#include的头文件啦

mysql_init,mysql_real_query等等的函数就可以用了

下面是对mysql的连接并插入,有三个字段,number,phone和id

#include #include #include #include

#include #pragma comment(lib, "libmysql.lib") using namespace std;

int main() { MYSQL mydata; //=mysql_init((MYSQL*)0); if (NULL !=

mysql_init(&mydata)) { cout << "mysql_init()succeed" << endl; } else { cout <<

"mysql_init()failed" << endl; return -1; } //连接数据库 if (NULL !=

mysql_real_connect(&mydata, "localhost", "root", "", "data", 3306, NULL, 0))

//这里的地址,用户名,密码,数据库,端口可以根据自己本地的情况更改 { cout << "mysql_real_connect()succeed" <<

endl; } else { cout << "mysql_real_connect()failed" << endl; } string query ;

string number = "20180904,";//用string灵活很多 string phone = "18888888,";//拼接

到时候可以根据需要进行修改 query = "insert into data (number,phone,id) values (" + number +

phone + "1)"; int res = mysql_real_query(&mydata, query.c_str(), (unsigned

int)strlen(query.c_str())); if (!res) { printf("Inserted %lu rows\n", (unsigned

long)mysql_affected_rows(&mydata));//成功显示 } else { fprintf(stderr, "Insert

error %d: s\n", mysql_errno(&mydata),

mysql_error(&mydata));//错误的话,注意看错误代码!!根据错误代码去百度你的查错误原因 } mysql_close(&mydata);

return 0; }

下面是对MYSQL的提取,就是SQL语句中的select系列

#include #include #include #include

#include #pragma comment(lib, "libmysql.lib") using namespace std;

int main() { MYSQL my_connect; MYSQL_RES *result; MYSQL_ROW row;

mysql_init(&my_connect);//初始化 mysql_real_connect(&my_connect, "localhost",

"root", "", "data", 3306, NULL, 0); string sql = "select id from data where

phone=18888888"; int flag=mysql_real_query(&my_connect, sql.c_str(), (unsigned

int)strlen(sql.c_str())); if (!flag)//成功执行 { string e; result=

mysql_store_result(&my_connect); while (row = mysql_fetch_row(result)) { e =

row[0];//把id提取出来,但是返回的是字符串类型,我知道id要么是1或者是0 } char ee; ee =

e[0];//转换成char,这样方面转换成int int p; p = ee - '0';//转换成int if (p == -48)

//-48是个神奇的数字,如果数据库中phone不匹配,那么转换成char再转换成int,值刚好伪-48 { cont<

else cout<

同理,如果更新MYSQL函数的值得话,改为update的

string sql = "update data set id=1 where number='20180901'"; int res =

mysql_real_query(&my_connect, sql.c_str(), (unsigned int)strlen(sql.c_str()));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值