昨天晚上在看C/C++对数据库的操作,猛然间觉得十分亲切,因为其中很多函数都和PHP中对MySQL操作相同,这是才想起PHP是C演化而来的。经过一番捣腾,终于完成了一个简单的程序,但是仍然存在着一个严重的问题,就是从数据库中得到的结果在屏幕上显示的是乱码,很让人烦。还望高手们赐教!

1.在机器上装上MySQL ,假设安装在 C:/MySQL/中;

2.这里我们用VC6.0来编写C++程序,但是这个之前要对VC6.0做一些设置,也就是把MySQL目录下的include和lib目录包含到VC6.0的directory选项中。具体的做法是在VC6.0中 tools(工具)>>option(选项)>>directories(目录)这个设置中把 include files 添加一个路径 C:/MySQL/include ,再给library files 添加一个路径C:/MySQL/lib/opt ,这样设置以后你就能够在程序中直接include对数据库操作的相关头文件了。

3.现在可以开始写程序了,代码如下:

//===========================================================//

//                TestMySQL.cpp

// Author : ASpire

// Discrb : for testing C++ in operating mysql

// Time   : 2010-3-18

//===========================================================//

/* include header about mysql */

#include "winsock2.h"

#include "mysql.h"

#include

#define CONN_HOST "localhost"

#define CONN_USER "user"

#define CONN_PWD "password"

#define CONN_DB "luntan"

//----------------------------------------------------------//

MYSQL mysql;

void exiterr(int exitcode)

{

fprintf(stderr,"%s",mysql_error(&mysql));

exit(exitcode);

}

int mysql_test()

{

MYSQL_RES *res;

MYSQL_ROW row;

unsigned int i = 0;

/* init mysql handler */

if(!mysql_init(&mysql))

{

exiterr(-1);

}

/* connect to mysql */

if(!mysql_real_connect(&mysql,CONN_HOST,CONN_USER,CONN_PWD,NULL,MYSQL_PORT,NULL,0))

{

exiterr(-2);

}

/* select db */

if(mysql_select_db(&mysql,CONN_DB))

{

exiterr(-3);

}

/* set db charset */

char *sqlcharset = "SET NAMES 'GBK'";

if(mysql_query(&mysql,sqlcharset))

{

exiterr(-6);

}

/* execute a query */

char *sqlstr = "SELECT * FROM forum_auth";

if(mysql_query(&mysql,sqlstr))

{

exiterr(-4);

}

/* store result */

if(!(res = mysql_store_result(&mysql)))

{

exiterr(-5);

}

/* fetch row and get the result */

while(row = mysql_fetch_row(res))

{

for(i=0;i

{

printf("%s",row);

}

printf("/t");

}

/* free result */

mysql_free_result(res);

/* close mysql connection */

mysql_close(&mysql);

return 0;

}

//-----------------------------------------------------------//

int main()

{

mysql_test();

return 0;

}

//-----------------------------------------------------------//

c 对一个mysql数据库进行操作_C/C++对MySQL操作相关推荐

  1. mysql数据库访问程序_c++程序访问MySQL数据库操作示例

    1.安装mysql sudo apt-get install mysql-server mysql-client 安装过程中会提示设置用户名和密码 2.启动mysql sudo /etc/init.d ...

  2. 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作

    这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在安装织梦系统的时候,有一次 ...

  3. Node连接MySQL数据库进行基本的增删改查操作(一看就会)

    Node连接MySQL数据库进行基本的增删改查操作(一看就会) ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...

  4. MySQL数据库 第5章:单表操作

    MySQL数据库 第5章:单表操作 5.1 数据操作 5.1.1 复制表结构和数据 5.1.2 解决主键冲突 5.1.3 清空数据 5.1.4 去除重复记录 5.2 排序与限量 5.2.1 排序 5. ...

  5. MySQL数据库肖睿版_正版 MySQL数据库应用技术及实战肖睿MySQL数据库数据操作数据恢复备份MySQL数据库优化My...

    基本信息 书名:MySQL数据库应用技术及实战 定价:32.00元 作者:肖睿程宁田崇峰 出版社:人民邮电出版社 出版日期:2018-01-01 ISBN:9787#115474223 字数: 页码: ...

  6. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...

    方法一: 尝试用MySQL Adminstrator GUI Tool登入MySQL Server,Server却回复错误讯息:Host '60-248-32-13.HINET-IP.hinet.ne ...

  7. linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库

    1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...

  8. MySQL数据库教程之十五:MySQL触发器实例

    MySQL数据库教程之十五:MySQL触发器实例 准备工作: 先启动Navicat for MySQL,建立数据库 建立两个表:Goods(商品表).Orders(订单表) Goods(商品表) cr ...

  9. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  10. java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录

    1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...

最新文章

  1. ci mysql 事务_MySQL事务-学习笔记
  2. numpy中的一些常见函数
  3. 透明轮播原生JavaScript实现
  4. mybatis15 mapper方式 代码
  5. Ubuntu安装Samba文件共享服务器(NAS)
  6. linux环境下主从复制,Linux之CentOS上配置MariaDB主从复制
  7. 颜色的前世今生4·孟塞尔色空间
  8. 计算机打表格图,怎么把电脑整个表格截屏,表格太长,还有部(怎么把excle表格截图)...
  9. 微信小程序开发(原生)
  10. cesium之三维漫游飞行效果实现篇(转)
  11. mc服务器 无限夜视,我的世界夜视指令是什么?这里告诉你无限夜视的方法
  12. 在ubuntu 上安装golang
  13. 关于消防系统安装的一些规范
  14. native-JavaScript通信流程( 基于最新的 react native版本 )
  15. GPT-4:不了不了,这些我还做不到
  16. 第一天:什么是Flink、WordCount入门、Flink安装、并行度
  17. srs之ingest
  18. A03-arcgis无法统计地块面积常见问题及解决方案
  19. Python3 pd.dataframe写入csv和xlsx
  20. 关于 Kubernetes 中通过 Kustomize 定制 Yaml资源文件的一些笔记

热门文章

  1. MASK -RCNN
  2. firefox设置代理服务器
  3. reactjs组件通讯:子组件传递数据给父组件
  4. go本地调用image-syncer
  5. JVM调优:运行参数,内存模型,mat、jps、jstat、jmap、jstack、jvisualvm工具的使用
  6. centos7 keepalived安装记录
  7. Linux 文件权限rwx
  8. JVM 调优实战--什么是垃圾回收及Java的自动垃圾回收GC
  9. Spring/Spring MVC/Spring Boot自动装配机制介绍
  10. 【软考】2017年11月软件设计师上午真题9-12题答案解析