windows下C++连接mysql
平台:windows c/c++
编译器:vs2017
项目设置:项目属性页:
1.C/C++ ->常规->附加包含目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include 这里是我的目录,具体找自己安装目录下的include
2.链接器->常规->附加库目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib
3.链接器->输入->附加依赖项->libmysql.lib
配置完成。
测试代码:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
#include "mysql.h"
#include <string>
using namespace std;
int main(int argc,char* argv[])
{
MYSQL mysql; //必备的数据结构
//初始化数据结构
MYSQL* sqlinit=mysql_init(&mysql);
if (sqlinit == NULL)
{
cout << "mysql init failed!" << endl;
return -1;
}
//初始化数据库 int STDCALL mysql_server_init(int argc, char **argv, char **groups);
if (0 == mysql_server_init(argc, argv, 0))
{
cout << "mysql_server_init succeed!" << endl;
}
else
{
cout << "mysql_server_init failed!" << endl;
return -2;
}
//设置连接选项 避免中文无法处理
// mysql_option 枚举类型
if (0 == mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
{
cout << "mysql_options succeed!" << endl;
}
else
{
cout << "mysql_option failed!" << endl;
return -3;
}
//连接数据库
if (NULL != mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0))
{
cout << "mysql connect succeed" << endl;
}
else
{
cout << "mysql connect failed" << endl;
return -4;
}
//strsql 用于储存Sql语句
string strsql;
strsql = "CREATE TABLE IF NOT EXISTS `testtable2`(";
strsql += "`runoob_id` INT UNSIGNED AUTO_INCREMENT,";
strsql += "`runoob_title` VARCHAR(100) NOT NULL,";
strsql += "`runoob_author` VARCHAR(40) NOT NULL,";
strsql += "`submission_date` DATE,";
strsql += "PRIMARY KEY(`runoob_id`)";
strsql += ")ENGINE = InnoDB DEFAULT CHARSET = utf8; ";
if (0 == mysql_query(&mysql, strsql.c_str()))
{
cout << "mysql_query succeed!" << endl;
}
else
{
cout << "mysql_query failed!" << endl;
return -5;
}
//向表中插入数据
char buf[1024];
//strsql = "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(0, 'MYSQL', 'Orcale', '2017-6-9'); ";
sprintf(buf, "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(%d, 'MYSQL', 'Orcale', '2017-6-9'); ", 0);
if (0 == mysql_query(&mysql, buf))
{
cout << "mysql_query succeed!" << endl;
}
else
{
cout << "mysql_query failed!" << endl;
return -5;
}
//查询
string query;
MYSQL_RES* result = NULL;
query = "select *from testtable1 where runoob_id=1";
if (0 == mysql_query(&mysql, query.c_str()))
{
cout << "mysql_query succeed!" << endl;
result=mysql_store_result(&mysql);
//取得并打印行数
my_ulonglong rowcount = mysql_num_rows(result);
cout << "row count: " << rowcount << endl;
//取得各个字段
unsigned int fieldcount = mysql_field_count(&mysql);
for (unsigned int i = 0; i < fieldcount; i++)
{
MYSQL_FIELD* field = mysql_fetch_field_direct(result, i);
cout << field->name << i << endl;
}
}
else
{
cout << "mysql_query failed" << endl;
mysql_close(&mysql);
return -6;
}
//清理
mysql_free_result(result);
mysql_close(&mysql);
mysql_server_end();
system("pause");
return 0;
}
windows下C++连接mysql的更多相关文章
- windows下远程连接Mysql
使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口. 使用“mysql -uroot -proot”命令可以连接到本地的mysql服务. 使用“use mysql” ...
- Windows下Qt连接MySql数据库
1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...
- windows下搭建Apache+Mysql+PHP开发环境
原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...
- windows下如何设置mysql环境变量
方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...
- 本地windows下PHP连接远程oracle遇到的诸多问题
任务目的:本地windows下PHP连接远程服务器下的oracle. 必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错. 已知的oracle版本 分为 32位的 ...
- linux下启动mysql服务(类似于windows下net start mysql)
1.linux系统启动方式:service mysql start.其类似于windows下net start mysql
- windows下plsql连接linux下的oracle数据库
windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...
- Windows下安装配置MySQL
Windows下安装配置MySQL的基本步骤 一.MySQL下载 MySQL官方下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
随机推荐
- net core 部署到windows 服务
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...
- 对《将Unreal4打包后的工程嵌入到Qt或者桌面中》一文的补充
在上一文中本人尝试将Ue4嵌入到Qt中,但依然有一些问题没有去尝试解决.今天因为帮助知乎专栏作者@大钊的关系,顺便进行补完. 2018.7.18更新: 正好在参加杭州UnrealCircle的时候见到 ...
- Docker操作笔记(四)使用网络
使用网络 Docker允许通过外部访问容器或容器互联的方式来提供网络服务. 一.外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射. 当 ...
- Python数据分析基础教程
Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...
- easy-ui 中的事件触发 (tree)
easy-ui可以为插件添加事件,但没有触发事件的处理(可能是未找到),所以有时候,我们需要通过程序去触发某个插件指定的事件时,就一筹莫展了 以Tree插件为例 ,添加了onClick事件 jQuer ...
- js异步
1.定时器都是异步操作 2.时间绑定都是异步操作 3.AJAX中一般我们采用异步操作 4.回调函数可以理解为异步操作 异步:指的是每一个任务有一个或多个回调函数,前一个任务结束后,不是执行后一个任务, ...
- java 实现加密算法(在网上看的,保存)
import java.util.ArrayList; import java.util.List; /** * DES加密/解密 * * @Copyright Copyr ...
- android发送短信验证码并自动获取验证码填充文本框
android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...
- spring boot application.properties 属性详解
2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...
- 如何设置 jenkins 任务执行的历史记录在左侧显示的格式?
java -jar I:\CDC\jenkins\jenkins-cli.jar -s http://$ENV:MasterHost.us.oracle.com set-build-display-n ...