栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Windows下MySQL数据库的安装、配置及C++使用案例

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows下MySQL数据库的安装、配置及C++使用案例

1 安装及配置

Windows判断本地是否安装mysql以及mysql安装过程_企鹅要去银河思考人生!!!的博客-CSDN博客_windows查看是否安装mysql

注意按照文中提示,配置好环境变量。

2 Navicat的安装配置及使用

https://www.jianshu.com/p/e6665db44328?u_atoken=53c880e0-3ef6-4699-94a8-5eee90d06ccc&u_asession=01zv-YpoyLDoQG82kTsfCQJIpYX6x5Qvukgyys1Gs-B0xBtNmPRcujAWOry1nM5-8_X0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K-1VRM9HiAxQ5KfR3IrKOw49Z8yatDP0qApUVWMROZyFmBkFo3NEHBv0PZUm6pbxQU&u_asig=053rs23s8kYv45len_QlH5spfeONFpUFPUOtBRP0ZyExgV-T0cd6B_PUjN0Z3yK_ieSf3JHvOyvq3vGajaNp01SZsSVbJk6tJQ1STv-87ydkUX8VgTGdjg4G3LvEZJ7cH5_GzKxEO9627BvdXNVTYtf3VchAMZr5qyyEnwJ8RXRxf9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzYSPmD_M8o6XbSg6yop8f0Ax5E46K1gWvSnH2KSvmlTWCs-hAuami3wC_ze-3aLJqu3h9VXwMyh6PgyDIVSG1W_eaSP5-UOfmd94Lowbn7SuPHCVMK-skk_JH_PvuEFgfj06ocwn6vifReSfc2KIb-YGyJ5mR7SVvk0C248_cjWimWspDxyAEEo4kbsryBKb9Q&u_aref=REBUYs01wbjXGFCpg%2BK6dPBOkDs%3D

附上Navicat及JH工具的网盘链接:

链接:https://pan.baidu.com/s/1fSNwHezyp62yeuAYuaAWCg 
提取码:uq35

使用 Navicat创建数据表:

创建以下的记录:

3 C++代码访问

vs2015 64位程序!

 代码:

// TestMySql.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 
#include "mysql.h"

//
//
//mysql_query() cannot be used for statements that contain binary data; 
//you must use mysql_real_query() instead. (Binary data may contain the “” character, 
//which mysql_query() interprets as the end of the statement string.) 
//In addition, mysql_real_query() is faster than mysql_query() because it does not call strlen() on the statement string.
//
//mysql_query() 不能传二进制BLOB字段,因为二进制信息中的会被误判为语句结束, mysql_real_query() 则可以




int main()
{
	MYSQL * con; //数据库对象
	MYSQL_RES *res; //res结构体,用于保存查询结果
	MYSQL_ROW row;
	char tmp[400];
	//账户
	char dbuser[30] = "root";
	//密码
	char dbpasswd[30] = "admin";
	//数据库服务器地址
	char dbip[30] = "localhost";
	char dbname[50] = "testdb";//数据库名
	char tablename[50] = "testclasstb";//表名
	char *query = NULL;
	int  rt;
	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 success the database!n");
			con->reconnect = 1;
			//执行sql语句设置编码为gbk
			//query = "set names 'gbk'";
			//rt = mysql_real_query(con, query, strlen(query));
			Sql语句执行为0则成功
			//if (rt) 
			//{
			//	printf("Error making query:%s!n", mysql_error(con));
			//}
			//else 
			//{
			//	printf("query %s success!n", query);
			//}
		}
	}
	else
	{
		MessageBoxA(NULL, "Unable to connect the database,check your configuration!", "", NULL);
		return -1;
	}
	//数据库中插入记录
	//sql语句
	sprintf_s(tmp, "insert into testclasstb values('fangxing',7)");
	//执行
	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);
		mysql_commit(con);//提交,使得及时生效.建议每次对MYSQL中的表修改或插入数据后 都提交一下(commit) !
	}

	//查询表
	sprintf_s(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结构体中
	res = mysql_store_result(con);
	//遍历查询结果的行
	while (row = mysql_fetch_row(res)) 
	{
		for (t = 0; t < mysql_num_fields(res); t++)
		{
			//打印查询行内容
			printf("%s n", row[t]);
		}
		printf("-----------n");
		count++;
	}

	printf("number of rows %dn", count);
	printf("mysql_free_result...n");
	//释放结果内存
	mysql_free_result(res);

	//关闭数据库连接
	mysql_close(con);

	system("pause");

	return 0;
}

运行效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号