您的位置:首页 > 数据库 > MySQL

VS 2017 连接MySQL数据库向数据库中插入、删除、查询数据

2020-04-07 12:34 1261 查看

文章目录

一、在操作之间首先安装软件

1、Windows下安装MySQL数据库
2、安装Visual Studio 2017

二、VS 2017环境配置

  1. 点击项目->项目属性,操作如图:

    2、选择C/C++,在常规的附加包含目录添加mysql安装地址中include文件的地址,如我的地址是

    C:\Program Files\MySQL\MySQL Server 5.7\include
    ,如图:

  2. 选择链接器,在常规中附加目录中添加mysql安装地址lib文件的地址,如我的地址是

    C:\Program Files\MySQL\MySQL Server 5.7\lib
    ,如图:

  3. 点击链接器中的输入,在附加依赖项中添加libmysql.lib,如图:

  4. 将mysql安装目录

    C:\Program Files\MySQL\MySQL Server 5.7\lib
    下的libmysql.dll复制到自己所建立的项目的同名文件夹下中,如图:

  5. 将运行的平台给为x64为,如图:

三、数据库操作代码

说明:这里我使用的是远程的数据库来进行连接

#include <mysql.h>
#include <stdio.h>

int main()
{
int res;
MYSQL conn;
//初始化MySQL连接句柄
mysql_init(&conn);
if (&conn != NULL)
{
printf("mysql句柄初始化成功\n");
}
else
{
printf("Err in init\n");
return -1;
}
//连接mysql数据库
if (mysql_real_connect
(&conn,  //MySQL句柄
"192.168.37.134",  //参数地址,本地数据库使用localhost
"root", //数据库名
"123456", //数据库密码
"db_test", //数据库名
0, //数据库端口,0表示默认(即3306)
NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型
0)) //通常是0
{

printf("数据库连接成功\n");
}
else
{
printf("数据库连接失败\n");
mysql_close(&conn);  //关闭连接
return -1;
}
//数据的插入
res = mysql_query(&conn, "insert into testTB3 values(5,'aa')"); //MySQL句柄  SQL语句
if (res == 0)
{
printf("插入成功\n");
}
else
{
printf("插入失败\n");
mysql_close(&conn);
return -1;
}
//数据的删除
res = mysql_query(&conn, "delete from testTB3 where name='aa'");
if (res == 0)
{
printf("删除成功\n");
}
else
{
printf("删除失败\n");
mysql_close(&conn);
return -1;
}
//数据的查询
res = mysql_query(&conn, "select * from testTB3");
if (res == 0)
{
printf("查询成功\n");
}
else
{
printf("查询失败\n");
mysql_close(&conn);
return -1;
}
//解析查询结果
MYSQL_RES *res_ptr;//指向结果集索引的指针
res_ptr = mysql_store_result(&conn);//检索完整的结果集当当前程序
if (res_ptr != NULL)
{
//打印出结果集中一共有多少行记录
unsigned long Row = mysql_num_rows(res_ptr);//结果集中的行数
printf("有%lu行记录\n", Row);
}
else
{
printf("结果集操作保留出错\n");
mysql_close(&conn);
return -1;
}
//取出字段名
MYSQL_FIELD *fd;
int i = 0;
while (fd = mysql_fetch_field(res_ptr))
{
printf("%s\t", fd->name);
i++;
}
putchar('\n');
//取出所有内容
MYSQL_ROW sqlrow;
int j;
while (sqlrow = mysql_fetch_row(res_ptr))
{
//将每一行的内容分割成每一个记录
for (j = 0; j < i; j++)
{
printf("%s\t", sqlrow[j]);
}
putchar('\n');
}

//释放结果集索引所在内存
mysql_free_result(res_ptr);

mysql_close(&conn);
return 0;
}

运行结果,如图所示:

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
农村小暖男° 发布了12 篇原创文章 · 获赞 10 · 访问量 421 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: