C++连接MySQL数据库 您所在的位置:网站首页 黑白直播无法连接网络 C++连接MySQL数据库

C++连接MySQL数据库

2023-07-15 01:12| 来源: 网络整理| 查看: 265

一、 创建项目并配置所需头文件及库 (一)     创建空项目

使用VS2015创建空项目

(二)     添加项目所需头文件所在文件夹

右键项目选择属性,进入C/C++ => 常规 => 附加包含目录,添加D:\mysql-5.7.19-win64\include(根据自己安装的MySQL版本及地址填写)

 

 

(三)     添加所需库

仍在属性页,进入链接器 => 常规 => 附加库目录,添加D:\mysql-5.7.19-winx64\lib(根据自己情况填写)

 

 

(四)     添加libmysql.dll

在项目的.\x64\Debug\中添加libmysql.dll(从计算机的资源管理器中添加),该dll文件在D:\mysql-5.7.19-winx64\lib目录下

 

 

若为执行这步会出现以下错误:

 

二、 代码测试 (一)     添加项,将下列代码复制运行即可 #include "stdio.h" #include "mysql.h" int main() { MYSQL * con; //= mysql_init((MYSQL*) 0); MYSQL_RES *res; MYSQL_ROW row; char tmp[400]; //database configuartion char dbuser[30] = "root"; char dbpasswd[30] = "123456"; // it must be changed char dbip[30] = "localhost"; char dbname[50] = "hospital"; char tablename[50] = "bl"; char *query = NULL; int x; int y; int rt;//return value unsigned int t; int count = 0; con = mysql_init((MYSQL*)0); if (con != NULL && mysql_real_connect(con, dbip, dbuser, dbpasswd, dbname, 3306, NULL, 0)) { if (!mysql_select_db(con, dbname)) { printf("Select successfully the database!\n"); con->reconnect = 1; query = "set names \'GBK\'"; rt = mysql_real_query(con, query, strlen(query)); if (rt) { printf("Error making query: %s !!!\n", mysql_error(con)); } else { printf("query %s succeed!\n", query); } } } else { MessageBoxA(NULL, "Unable to connect the database,check your configuration!", "", NULL); } //sprintf(tmp, "insert into %s values(%s,%d,%d)", tablename, "null", x, y); //注意如何向具有自增字段的数据库中插入记录 sprintf(tmp, "insert into bl values(null,'x','x','x','x')"); rt = mysql_real_query(con, tmp, strlen(tmp)); if (rt) { printf("Error making query: %s !!!\n", mysql_error(con)); } else { printf("%s executed!!!\n", tmp); } sprintf(tmp, "select * from %s", tablename); rt = mysql_real_query(con, tmp, strlen(tmp)); if (rt) { printf("Error making query: %s !!!\n", mysql_error(con)); } else { printf("%s executed!!!\n", tmp); } res = mysql_store_result(con);//将结果保存在res结构体中 while (row = mysql_fetch_row(res)) { for (t = 0; t


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有