【转】VC++与MySQL数据库的连接
原文地址:http://blog.csdn.net/nupt123456789/article/details/8043091
1.MySQL数据库的安装
你可以从MySQL的官网上或者从如下地址下载MySQL的数据库安装包(http://download.csdn.net/detail/nuptboyzhb/4619847)。本文以mysql-5.0.27-win32为例。下载完之后解压安装。注意:在安装的过程中,选择安装“完全版”(complete),不要选择默认的“典型”。否者,没有c++相关的连接库。然后一直点next即可。安装过程中让你注册,你就按部就班的做就行了。
2.数据库的建立
你可以直接用MySQL的命令行窗口去建立一个数据库和一个表。但是,我强烈推荐你用可视化的工具(你可以去搜一下)。在这里,我之前安装过wamp5就直接用网页版的phpmyadmin工具。如果你安装过wamp5,直接在浏览器中输入:http://localhost/phpmyadmin/即可。然后我们新建一个名为testdb的数据库再在其中新建一个表:name_table.然后新增数据:zhb 22studentsnjupt
3.VC++6.0的配置
本文以经典的vc++6.0为例。(当然,VS2005 2008 2010等,也是这样配置)。打开vc++6.0,工具->选项->目录(选项卡),在其Include files添加MySQL的include路径。如我的MySQL的include文件夹的路径为:C:\Program Files\MySQL\MySQL Server 5.0\include。切换下拉框,选择Library files,添加MySQL的lib路径。如我的为:C:\Program Files\MySQL\MySQL Server 5.0\lib\opt
4.编程连接数据库并查询
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#include <iostream>
#pragma comment(lib,"libmysql.lib")//连接MysQL需要的库
using namespace std;
int main()
{
const char user[] = "root"; //username
const char pswd[] = "*********"; //password
const char host[] = "localhost"; //or"127.0.0.1"
const char table[] ="testdb"; //database
unsigned int port = ; //server port
MYSQL myCont;
MYSQL_RES *result;
MYSQL_ROW sql_row;
MYSQL_FIELD *fd;
char column[][];
int res;
mysql_init(&myCont);
if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,))
{
cout<<"connect succeed!"<<endl;
mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
res=mysql_query(&myCont,"select * from name_table");//查询
if(!res)
{
result=mysql_store_result(&myCont);//保存查询到的数据到result
if(result)
{
int i,j;
cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;
for(i=;fd=mysql_fetch_field(result);i++)//获取列名
{
strcpy(column[i],fd->name);
}
j=mysql_num_fields(result);
for(i=;i<j;i++)
{
printf("%s\t",column[i]);
}
printf("\n");
while(sql_row=mysql_fetch_row(result))//获取具体的数据
{
for(i=;i<j;i++)
{
printf("%s\n",sql_row[i]);
}
printf("\n");
}
}
}
else
{
cout<<"query sql failed!"<<endl;
}
}
else
{
cout<<"connect failed!"<<endl;
}
if(result!=NULL) mysql_free_result(result);//释放结果资源
mysql_close(&myCont);//断开连接
return ;
}
【转】VC++与MySQL数据库的连接的更多相关文章
- java与MySQL数据库的连接
java与MySQL数据库的连接 1.数据库的安装和建立参见上一篇博客中的第1,2步骤.(http://blog.csdn.net/nuptboyzhb/article/details/8043091 ...
- MySQL数据库远程连接
12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...
- Swift3.0服务端开发(四) MySQL数据库的连接与操作
本篇博客我们来聊聊MySQL数据库的连接与操作.如果你本地没有MySQL数据库的话,需要你先安装MySQL数据库.在Mac OS中使用brew包管理器进行MySQL的安装是及其方便的.安装MySQL的 ...
- Java对MySQL数据库进行连接、查询和修改(转)
Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...
- Web框架之Django-20-基于mysql数据库的连接
Web框架之Django-20-基于mysql数据库的连接 想要连接mysql首先需要安装pymysql这个驱动 然后在app的init文件中引入驱动 import pymysql pym ...
- MySql数据库之连接查询
在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 ...
- Python与Mysql 数据库的连接,以及查询。
python与mysql数据库的连接: pymysql是python中对数据库的连接模块:因此应当首先安装pymysql数据库模块. 执行pip install pymysql 命令. 然后在pyth ...
- Java连接MYSQL 数据库的连接步骤
这篇文章主要以MySQL为例讲下Java如何连接到数据库的. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC ...
- MySQL数据库远程连接开启方法
有时候需要远程连接mysql数据库,默认是不可以的,可以参考下面的方法,解决下. 1.登陆自己机器的MySQL数据库:mysql -uroot -p密码 设置root用户可以任意IP访问,代码如下(可 ...
随机推荐
- JavaScript 将多个引用(样式或者脚本)放入一个文件进行引用
1.将样式放入一个文件进行引用 @import url("../media/css/bootstrap.min.css"); @import url("../media/ ...
- python关于字符串的操作
#-*- coding:utf-8 -*-#Author:gxli#字符串的操作name=' zhangsan,lisi,wangwu '#分割操作name=name.split(',')print( ...
- layoutSubviews 浅尝
layoutSubviews是UIView中的属性方法,即只要继承于UIView,就可以使用这个方法,这个方法也很强大,以下是他的触发时机: 1.init初始化不会触发layoutSubviews 2 ...
- Swing做的非阻塞式仿飞秋聊天程序
采用Swing 布局 NIO非阻塞式仿飞秋聊天程序, 切换皮肤颜色什么的小功能以后慢慢做 启动主程序. 当用户打开主程序后自动获取局域网段IP可以在 设置 --> IP网段过滤, 拥有 JMF ...
- 盘点Windows 8.1中隐藏着的25个秘密功能
Windows 8.1正式版问世,带来了众多大家早已耳熟能详的“开始按钮”.“分屏显示”等功能.事实上,Windows 8.1贴心的设计细节有很多,多数细节隐藏于系统中某个不起眼的角落,科技网站PC ...
- fwrite ,fprintf的作用与区别
1.概念和作用 fwrite是C语言函数,指向文件写入一个数据块,写入的是 fprintf是C/C++中的一个格式化写-库函数,其作用是格式输出到一个流/文件中:原型是int fprintf( FIL ...
- SSIS 控制流和数据流(转)
理解控制流和数据流的一个入口是看他们如何运行的.一个控制流任务是一个最小的执行单位,它的运行结果有成功,失 败,和完成,在运行它的下一个任务之前必须得到这些结果.在数据流任务中,转换时最基本的元素.一 ...
- Upgrading to Java 8——第三章 Optional and Similar Classes
Java程序员对付空指针异常已经好多年了.在Java8中将有新的方式去处理他们.通过包装一个潜在的可能为null的类称为Optianal. 在Java8中添加了the Optional, Option ...
- 4554: [Tjoi2016&Heoi2016]游戏 二分图匹配
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4554 题解: 如果没有硬石头的话,就是’*‘点对应的行列建边,然后跑最大匹配 硬石头什么 ...
- mysql--乱码
不知道为什么utf8反而会乱码,每次都是设gbk,,唉这样写项目的时候也是有点问题的T T set names gbk; 版权声明:本文为博主原创文章,未经博主允许不得转载.