vs如何读取mysql中的数据并解决中文乱码问题

一、在vs中新建一个工程,然后新建一个源文件

二、右击上述图片中的mysql_test工程名,然后在最下方找到属性,并点击

三、点击VC++目录,在包含目录中添加mysql的文件路径,一般情况下的mysql的默认安装路径都是在C盘的Program Files下的,找到include路径,然后点击确定

四、在C/C++中的常规选项中,找到附加包含目录,同时也将mysql的include路径包含进去 

五、在属性页中选择链接器的常规选项,在里面找到附加库目录,然后添加mysql的lib路径

六、 在链接器的输入选项中,找到附加依赖项,然后直接写上libmysql.lib

七、最后再mysql的bin目录中,将libmysql.dll复制一份到c:\windows\system32路径下即可。 八、随便找一段代码测试,这里用的是其他人的博客里面的代码,当然有些许是修改了的,这里会作相应介绍。

mysql测试代码如下:

create database test;
use test;
create table test_1(name varchar(128),age int);
insert into test_1 values('獜洛橙',18);

vs测试代码如下(要注意修改mysql用户名和密码为自己的,同时还有database的名字和里面的表的名字,我这里用户名是root,密码是123456,database是上面mysql测试代码中的test,表名是test_1):

#include <stdio.h>
#include <WinSock.h>
#include <Windows.h>
#include <mysql.h>
#include<iostream>
using namespace std;

MYSQL mysql;  //mysql连接
MYSQL_RES* res; //一个结果集结构体
MYSQL_ROW row; //char** 二维数组,存放一条条记录  

const char DataBase_UserName[] = "root";    //数据库用户名username
const char DataBase_Password[] = "123456";   //数据库密码,填自己的密码
const char DataBase_Host[] = "localhost";  //数据库连接地址
//注意有时候使用主机ip会报错,此时可以将ip改为localhost
const char DataBase_Name[] = "test";  //database name
unsigned int DataBase_Port = 3306;            //server port

bool ConnectDatabase(); //函数申明
void FreeConnect();   //释放资源

wchar_t* Utf8_2_Unicode(char* row_i)
{
	int len = MultiByteToWideChar(CP_UTF8, 0, row_i, strlen(row_i), NULL, 0);
	wchar_t* wszStr = new wchar_t[len + 1];
	MultiByteToWideChar(CP_UTF8, 0, row_i, strlen(row_i), wszStr, len);
	wszStr[len] = '\0';
	return wszStr;
}

void main()
{
	setlocale(LC_ALL, "chs");
	ConnectDatabase();	//连接数据库
	//查询数据
	mysql_query(&mysql, "SELECT * from test_1");
	//获取结果集
	res = mysql_store_result(&mysql);
	//显示数据
	//给ROW赋值,判断ROW是否为空,不为空就打印数据。
	while (row = mysql_fetch_row(res))
	{
		wchar_t* m1 = Utf8_2_Unicode(row[0]);
		wchar_t* m2 = Utf8_2_Unicode(row[1]);
		wprintf_s(L"%s  %s", m1,m2);
	}
	FreeConnect();
	getchar();
}

bool ConnectDatabase()
{
	//初始化mysql
	mysql_init(&mysql);   //连接mysql,数据库
	//中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去
	if (!(mysql_real_connect(&mysql, DataBase_Host, DataBase_UserName, DataBase_Password, DataBase_Name, DataBase_Port, NULL, 0))) {
		printf("Error connecting to database:%s\n", mysql_error(&mysql));
		return false;
	}
	else {
		MessageBoxA(NULL, "连接MYSQL数据成功!", "消息", MB_OK);
		printf("Connected...\n");
		return true;
	}
}
//释放资源
void FreeConnect() {
	mysql_close(&mysql);
}

九、如果成功即显示如下的提示信息框

十、打印结果(成功显示)

到此这篇关于vs如何读取mysql中的数据并解决中文乱码问题的文章就介绍到这了,更多相关vs读取mysql数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • vs2015中mysql.h文件打不开的解决办法

    准备学习VS2015环境下的数据库编程,在网上找了个实例,链接如下:VS2017调用MySQL 8.0的方法 VS下建立工程: 问题出现:#include<mysql.h>  报错(无法打开源文件) 打开MYSQL 客户端 ,输入 show variables like "%char%"; 查找MYSQL的安装路径: 我的路径是:C:\Program Files\MySQL\MySQL Server 5.7,在这个路径下,我有lib 和 include 两个文件夹,其中my

  • 教你使用VS Code的MySQL扩展管理数据库的方法

    我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程序是否正确执行.也有许多工具提供了可视化的界面来帮助我们实现这些功能,例如phpMyAdmin(需要安装PHP和Web服务器).Navicat(强大的SQL管理工具,但需要商业授权),也有一些免费的工具可以使用,如Workbench.Sequel Pro.HeidiSQL等等.当然你也可以直接使用m

  • VS2019连接MySQL数据库的过程及常见问题总结

    今天下午开始配置各种环境,想着VS2019可以配合MySQL一起使用.中间出了不少错误,晚上九点左右配置成功如下图所示: 接下来说说具体步骤: (1)首先准备好VS2019和MySQL的软件,各自官网都有,这里不再赘述: (2)找到MySQL的安装目录,如图,找到这两个文件夹. (3)新建一个工程后再新建一个main.cpp文件,为下面的配置环境做准备. (4)打开项目属性,点击VC++目录,在包含目录中,将MySQL安装目录中的include文件路径添加到这里,如下图所示:  (5)在属性页上

  • C#连接mysql的方法【基于vs2010】

    本文实例讲述了C#连接mysql的方法.分享给大家供大家参考,具体如下: 在vs2010中  工具->数据库连接   里要想连接到MySQL数据库,需要安装这样一个东西: MySql Connector: 1.首先安装 connector .下载地址:(http://www.mysql.com/downloads/connector/net/) 2.现在就可以了,打开vs2010试试吧! 安装完成后找到安装目录下(C:\Program Files\MySQL\MySQL Connector Ne

  • VS2019连接mysql8.0数据库的教程图文详解

    1.首先准备好VS2019以及mysql数据库,两者都可以去官网下载,我们直接描述连接过程. 2.连接: 第一步:打开mysql的安装目录,我本地的安装目录如下:(注意是否有include和lib文件夹) 第二步:打开VS2019,新建一个空工程. 第三步:右击工程名,打开属性页: 第四步:打开VC++目录,在包含目录中,将mysql安装文件中的include文件的路径添加到这里: 第五步:还是在属性页上,打开C/C++,选择常规,和上一步一样,在附加包含目录中将mysql文件中的include

  • VS2010/VS2013项目创建 ADO.NET连接mysql/sql server详细步骤

    本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤) 1.打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤) VS2010版本如图: VS2013版本如图: 2.非空项目创建后,右侧"解决方案管理器"中会有一个"models"文件,右键"models",具体步骤如下: 2-1步骤 2-2步骤 2-3步骤 2-3-1 注意这个是VS2010版本的截图 2-4步骤 2-5步骤 2-6

  • vs如何读取mysql中的数据并解决中文乱码问题

    一.在vs中新建一个工程,然后新建一个源文件 二.右击上述图片中的mysql_test工程名,然后在最下方找到属性,并点击 三.点击VC++目录,在包含目录中添加mysql的文件路径,一般情况下的mysql的默认安装路径都是在C盘的Program Files下的,找到include路径,然后点击确定 四.在C/C++中的常规选项中,找到附加包含目录,同时也将mysql的include路径包含进去  五.在属性页中选择链接器的常规选项,在里面找到附加库目录,然后添加mysql的lib路径 六. 在

  • Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");

  • Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j

  • 如何使用ajax读取Json中的数据

    本文给大家分享一下,如何使用ajax读取Json中的数据. 一.基础知识 什么是json? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言. JSON - 转换为 JavaScript 对

  • Python如何读取MySQL数据库表数据

    本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 代码: # -*- coding: utf-8 -*- import pandas as pd import pymysql ## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo&

  • PHP无限循环获取MySQL中的数据实例代码

    最近公司有个需求需要从MySQL获取数据,然后在页面上无线循环的翻页展示.主要就是一直点击一个按钮,然后数据从最开始循环到末尾,如果末尾的数据不够了,那么从数据的最开始取几条补充上来. 其实,这个功能可以通过JQ实现,也可以通过PHP + MYSQL实现,只不过JQ比较方便而且效率更高罢了. 每次显示10条数据. public function get_data($limit){ $sql="select * from ((select id,name from `mytable` limit

  • 使用 Python 读取电子表格中的数据实例详解

    Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数据.CSV文件一开始往往是以表格或电子表格的形式出现.本文介绍了如何在 Python 3 中处理 CSV 数据. CSV 数据正如其名.CSV 文件按行放置数据,数值之间用逗号分隔.每行由相同的字段定义.简短的 CSV 文件通常易于阅读和理解.但是较长的数据文件或具有更多字段的数据文件可能很难用肉眼

  • 详解MySQL中的数据类型和schema优化

    最近在学习MySQL优化方面的知识.本文就数据类型和schema方面的优化进行介绍. 1. 选择优化的数据类型 MySQL支持的数据类型有很多,而如何选择出正确的数据类型,对于性能是至关重要的.以下几个原则能够帮助确定数据类型: 更小的通常更好 应尽可能使用可以正确存储数据的最小数据类型,够用就好.这样将占用更少的磁盘.内存和缓存,而在处理时也会耗时更少. 简单就好 当两种数据类型都能胜任一个字段的存储工作时,选择简单的那一方,往往是最好的选择.例如整型和字符串,由于整型的操作代价要小于字符,所

  • SpringBoot如何读取配置文件中的数据到map和list

    目录 读取配置文件中的数据到map和list springboot读取配置文件中的配置信息到map springboot读取配置文件中的配置信息到list 测试上述配置是否有效 配置文件的读取(包括list.map类型) 读取配置文件 第一种方式 第二种方式 扩展 读取配置文件中的数据到map和list 之前使用过@Value("${name}")来读取springboot配置文件中的配置信息,比如: @Value("${server.port}") private

  • C#读取word中表格数据的方法实现

    前些日子有一个项目需要从word文件中取表格数据并进行处理,网上大部分方案都是基于office的com组件实现,但是这样有一个缺点,如果电脑里没有安装office将无法使用,因为之前操作excel都是使用的NPOI,所以理所当然的想用NPOI解决此问题. 于是找到了如下代码 private List<string> GetDoc(string Path) { if (Path == "") return null; //文件路径为空 List<string> R

随机推荐