windows下C++操作MySQL数据库
、安装MySQL
2、建立C++控制台程序,新建CPP源文件,如:sqlconn.cpp
3、工程项目中属性—C/C++--常规—附加包含目录中添加mysql安装目录中的MySQL\MySQL\MySQL Server 5.7\include
4、添加库目录C:\Program Files\MySQL\MySQL Server 5.7\lib
5、添加依赖项 libmysql.lib
6、运行平台改为X64(这不很重要,不然编译会报错)
7、源文件中stdafx.h中添加头文件winsock.h和mysql.h(下图这样编译会报错)
8、编写自己的数据库操作程序
// sqlconn.cpp : 定义控制台应用程序的入口点。
#include <stdio.h>
#include <mysql.h>
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
MYSQL * con; //数据库对象
MYSQL_RES *res; //res结构体,用于保存查询结果
MYSQL_ROW row;
char tmp[400];
//database configuaration
char dbuser[30] = "root";
char dbpasswd[30]="root";
char dbip[30]="localhost";
char dbname[50]="test";
char tablename[50]="user";
char *query=NULL;
int x,y,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);
}
//数据库中插入记录
//sql语句
sprintf_s(tmp,"insert into user values(null,'liujie2')");
//执行
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_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 %d\n", count);
printf("mysql_free_result...\n");
//释放结果内存
mysql_free_result(res);
//关闭数据库连接
mysql_close(con);
system("pause");
return 0;
}
9、将编译程序和libmysql.dll放在一个目录,然后执行即可
测试通过,十分有效
windows下C++操作MySQL数据库的更多相关文章
- windows 命令行操作 Mysql 数据库
1 前言 有接手一个新项目,项目中到了 Mysql 数据库 ,这里总结下 windows 命令行操作 Mysql 数据库. 2 Cmd操作数据库 2.1 连接Mysql服务器,命令如下:(root用户 ...
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
- Windows 下Java 连 MYSQL数据库
我们上课的时候在机房是用java连SQLServer2008的.由于这个数据库软件安装太麻烦,最重要的一点是安装后系统应该会变慢.至少开机速度会有影响.至于这个mysql我觉得下载一个绿色版的,然后自 ...
- Windows下Qt连接MySql数据库
1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...
- Windows 下Python操作MySQL
1.环境要求(Win7 X64): python 2.7, MySQL-python-1.2.3.win-amd64-py2.7 :http://www.codegood.com/download/1 ...
- windows下python操作mysql模块安装
百度教程说安装 pip install mysqldb 这在我的电脑上安装失败: Could not find a version that satisfies the requirement mys ...
- ubuntu下C操作Mysql数据库第一步
学习于: http://armsword.com/2013/06/20/ubuntu-c-mysql.html
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
windows安装python操作mysql数据库的MySQLdb模块mysql-client 正常情况下应该是cmd下直接运行 pip install mysql-client 命令即可,试了很多台 ...
- Windows下安装MySQLdb, Python操作MySQL数据库的增删改查
这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...
随机推荐
- PHP 设计模式 原型模式(Prototype)之深/浅拷贝
看PHP 设计模式 原型模式(Prototype)时,衍生出一个扩展问题之 原型拷贝的浅拷贝和深拷贝问题(不管写Java还是写PHP还是写JS时都多多少少遇到过对象拷贝问题) 比如写前端页面时 ...
- CentOS 6.5下安装Oracle 11g(转)
最近开始学习CentOS使用,做些记录. 参考文献:Cent OS 6_5(x86_64)下安装Oracle 11g 一.硬件要求 1.内存&swap Minimum:1 GB of RAM ...
- WinForm 弹窗
private void FrmMyShow_Load(object sender, EventArgs e) { Rectangle r = Screen.GetWorkingArea(this); ...
- 在NOILINUX下的简易VIM配置
位置:/etc/vim/vimrc 建议使用gedit来进行配置.即使用命令:sudo gedit /etc/vim/vimrc set mouse=a " Enable mouse usa ...
- [置顶]
linux c常用函数 (待完善)
(1)字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) isblank(测试字符是否为空格字符) ...
- PMON和SMON的功能
PMON:进程监控进程进程负责在反常中断的连接之后的清理工作.例如,如果因某些原因专用服务“故障”或被kill掉,PMON就是负责处理(恢复或回滚工作)和释放你的资源.PMON将发出未提交工作的回滚, ...
- go语言数组与切片比较
一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式:[length]Type .[N]Type{value1, value2, . ...
- xsigo systems
继虚拟化管理软件巨头VMware以12.6亿美元收购云计算网络虚拟化厂商Nicira后,昨日,有报道称,甲骨文也不甘示弱,宣布收购了另一家网络虚拟化技术厂商Xsigo,为这股SDN(软件定义网络)热潮 ...
- [Z] Windbg以及vs debug使用
Windbg 一篇中国人写的质量非常高的Windbg文章:篇中国人写的质量非常高的Windbg文章: http://www.yiiyee.cn/Blog/windbg/ code project上的W ...
- Selenium Webdriver——Xpath轴定位(preceding)
1.preceding-sibling 选取当前节点之前的所有同级节点 text=出发之前的同级节点: 2.preceding 选取当前节点开始标签之前的所有节点 text=出发节点标签之前的所有i ...