c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)
我的安装环境:
(1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序) ;
(2)mysql-5.7.15(64位)
vs2013中的设置(按步骤来,顺序不要乱)
(1)首先在vs2013中新建一个控制台程序 MysqlTest(或者选择一个已有的项目)
(2)设置项目平台为64位平台:
1)右击项目,选择属性
弹出一个对话框,点右上角的配置管理器,如图:
接着点 平台下面的那个下拉选项 ,然后 选 新建 如图:
接着选 x64 ,然后点确定:
都选X64:
vs中也要选x64:
完事。
2)设置项目 包含目录 和 库目录
设置项目属性,先设置包含目录:
出来如下对话框 接着点添加:
接着:
选择的目录是 mysql 安装路径下的 include 目录(我的路径是:D:\Office Software\mysql-5.7.15-winx64):
点确定:
接着设置 库目录:
同样新建:
设置路径:
选择lib目录:
接着:
3)把mysql安装目录下的 lib文件夹 下的 libmysql.dll添加到项目目录中:
复制到项目根目录中:
MySQL设置:
需要把mysql的字符集设置成utf8格式,查看mysql字符集的命令是:show variables like "character%";(需要先从cmd登陆到mysql);
mysql设置默认字符集 不会设置的同学直接百度自行解决,实在不会的可以加我QQ1306348864 咨询本人!记得说明来意
设置完效果如下图:
开始写代码
// MysqlTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h" //这个是创建项目时自己带的,不用管它
#include <WinSock2.h> //要写
#include "mysql.h" //要写 , 使用mysql API时用
#include <iostream> #pragma comment(lib,"wsock32.lib") //把这两个lib文件加进来
#pragma comment(lib,"libmysql.lib") using namespace std; int _tmain(int argc, _TCHAR* argv[])
{
MYSQL mysql; //定义一个MYSQL类型的变量mysql
MYSQL_RES *result; //查询结果集
MYSQL_ROW row; //一行纪录
mysql_init(&mysql); //初始化mysql //连接mysql 该函数的参数含义分别是:(接受函数返回的数据库的指针,主机名,连接数据库时用的用户名,数据库密码,要连接哪个数据库,端口,NULL,标志)
mysql_real_connect(&mysql, "localhost", "root", "wxl1306348864", "c", , NULL, ); mysql_set_character_set(&mysql, "gbk"); //设置连接字符集 可以是utf8,可以是gbk, 这里用utf8的时候中文乱码,但gbk么事,不知为啥
char *sql = "select * from user"; //SQL语句 (连接的数据库名:c ,表:user)
mysql_query(&mysql, sql); //查询
result = mysql_store_result(&mysql); //取回查询结果 //输出查询结果
while ((row = mysql_fetch_row(result)) != NULL)
{
cout << row[] << endl; //row[0]表示第一列,row[1]表示第二列,依次类推..
}
system("pause");
return ;
}
执行结果如下:
我的数据库:
c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)的更多相关文章
- Windows使用MySQL数据库管理系统中文乱码问题
声明:本文关于MySQL中文乱码问题的解决方案均基于Windows 10操作系统,如果是Linux系统会有较多不适用之处,请谨慎参考. 一.MySQL中文乱码情况 1. sqlDevelper远程登陆 ...
- MySQL数据库设置编码格式和时区
MySQL数据库设置编码格式和时区 MySQL5版本: url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8 MySQL6版本及以上 ...
- 孤荷凌寒自学python第四十四天Python操作 数据库之准备工作
孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...
- pymysql 操作数据库
一.简介 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,但目前pymysql支持python3.x而后者不支持3.x版本 其执行语句与sql源码相似 二.使用 ...
- 数据库学习笔记 (三) python操作数据库
python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...
- python MySQLdb用法,python中cursor操作数据库(转)
数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...
- 在MVC3中使用code first生成数据局库并操作数据库
1.建立Users和UserInfos两个实体类 对应的是数据库中的表 public class User { //类名+Id(User+Id)组成的字符串在数据库表中会设置该字段是主键且是按1的增量 ...
- 获取数据库连接的方式 & Statement操作数据库的弊端
1.获取数据库连接的方式 TestConnection package com.aff.connection; import java.io.InputStream; import java.sql. ...
- node.js操作数据库之MongoDB+mongoose篇
前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...
随机推荐
- 补充01 Django 类视图
视图 函数视图[Function Base View] 以函数的方式定义的视图称为函数视图,函数视图便于理解.但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不 ...
- day25-1 time,datetime模块
目录 time 为什么要有time模块,time模块有什么用 时间戳形式 格式化时间 结构化时间 各种时间格式互相转换 datetime 为什么要有datetime模块,detatime模块有什么用 ...
- 为什么在JavaScript中0.1+0.2不等于0.3?
0.1+0.2不等于0.3?是不是有点颠覆你的认知,但是,在js中,是真实存在的! console.log(0.1+0.2); // 0.30000000000000004 其实这都是因为浮点数运算的 ...
- 干货:鲜为人用的MySQL高级特性与玩法!
上一篇文章<万字总结:学习MySQL优化原理,这一篇就够了!>文末给大家留有两个开放的问题: 有非常多的程序员在分享时都会抛出这样一个观点:尽可能不要使用存储过程,存储过程非常不容易维护, ...
- 用PHP去实现静态化
我们在PHP站点开发过程中为了站点的推广或者SEO的须要,须要对站点进行一定的静态化,这里设计到什么是静态页面,所谓的静态页面.并非页面中没有动画等元素,而是指网页的代码都在页面中,即不须要再去执行P ...
- android继续探索Fresco
我们接着上文继续说,上篇博客中我们已经知道了Fresco怎么用,也知道了它的非常多属性.可是非常多时候xml文件是不能满足你的要求的.这就须要你在代码中动态的改变显示的内容,今天我们就来探索一下怎样在 ...
- hive 配置注意事项及初始化hive 元数据
今天配置hive 犯了一个问题:下载的hive tar.gz 里的conf文件夹仅仅有一个 hive-default.xml.template,于是我就cp 了一份命名为:hive-default. ...
- Leetcode--easy系列2
#14 Longest Common Prefix Write a function to find the longest common prefix string amongst an array ...
- Suffix Array 后缀数组
后缀数组 顾名思义.SuffixArray(下面有时简称SA) 和字符串的后缀有关. 后缀:字符串中某个位置一直到结尾的子串.(SA中讨论包含了原串和空串).所以共同拥有len+1个后缀. 后缀数组: ...
- Android圆角Tag控件的另类实现
一般的圆角标签控件都是用xml设置shape做实现.可是假设我们想要做一个更加强大通用的的圆角控件,不须要使用者去关心圆角,仅仅设置背景就能够了. 应该怎么实现呢?这个就须要把背景先设置成图片,然后再 ...