在VC6中使用c API方式连接MySQL数据库
2009-12-27 21:30
585 查看
在VC6中使用c API方式连接MySQL数据库
一、环境配置
1、在MySql的官方网站下载mysql-connector-c-noinstall,并将解压后的bin和include文件夹拷贝到Mysql的安装目录
2、设置VC6环境,在vc工具-选项-目录,加入刚才的Include文件夹的路径,例如:C:/Program Files/MySQL/MySQL Server 5.1/include
二、工程设置
3、将lib文件夹中的linmysql.lib和libmysql.dll拷贝到工程目录下,工程-设置-连接,在对象/库模块中添加wsock32.lib和libmysql.lib
三、示例
4、先导入测试程序所需的环境,将以下SQL语句保存为sql脚本文件并导入
#VC6通过API连接Mysql测试环境
#创建数据库
drop database if exists `test`; #如果有这个数据库,则移除它 create database test; #创建数据库
use test; #使用数据库
#创建表User,保存会员属性
drop table if exists `User`;
create table User (
id int(11) not null auto_increment,
name varchar(20),
age int(11),
primary key (id)
);
#插入一些数据
insert into user values (NULL, 'name1', 11);
insert into user values (NULL, 'name2', 22);
insert into user values (NULL, 'name3', 33);
5、测试代码
一、环境配置
1、在MySql的官方网站下载mysql-connector-c-noinstall,并将解压后的bin和include文件夹拷贝到Mysql的安装目录
2、设置VC6环境,在vc工具-选项-目录,加入刚才的Include文件夹的路径,例如:C:/Program Files/MySQL/MySQL Server 5.1/include
二、工程设置
3、将lib文件夹中的linmysql.lib和libmysql.dll拷贝到工程目录下,工程-设置-连接,在对象/库模块中添加wsock32.lib和libmysql.lib
三、示例
4、先导入测试程序所需的环境,将以下SQL语句保存为sql脚本文件并导入
#VC6通过API连接Mysql测试环境
#创建数据库
drop database if exists `test`; #如果有这个数据库,则移除它 create database test; #创建数据库
use test; #使用数据库
#创建表User,保存会员属性
drop table if exists `User`;
create table User (
id int(11) not null auto_increment,
name varchar(20),
age int(11),
primary key (id)
);
#插入一些数据
insert into user values (NULL, 'name1', 11);
insert into user values (NULL, 'name2', 22);
insert into user values (NULL, 'name3', 33);
5、测试代码
#include <windows.h> #include <mysql.h> #include "stdio.h" MYSQL mysql, *sock; //mysql连接 MYSQL_RES *res; //这个结构代表返回行的一个查询结果集 MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示 char query[150]; //查询语句 bool ConnectDatabase(); //函数声明 void FreeConnect(); bool QueryDatabase(); bool InsertData(); int main() { ConnectDatabase(); QueryDatabase(); InsertData(); QueryDatabase(); FreeConnect(); return 0; } //连接数据库 bool ConnectDatabase() { //初始化mysql mysql_init(&mysql); //连接mysql,数据库 if (!(sock = mysql_real_connect(&mysql,"localhost", "root", "root", "test",0,NULL,0))) { printf( "Error connecting to database:%s/n",mysql_error(&mysql)); return false; } else { printf("Connected.../n"); return true; } } //释放资源 void FreeConnect() { //释放资源 mysql_free_result(res); mysql_close(sock); } //查询数据 bool QueryDatabase() { sprintf(query, "select * from user"); //执行查询语句 if(mysql_query(sock, query)) //执行SQL语句 { printf("Query failed (%s)/n",mysql_error(sock)); return false; } else { printf("query success/n"); } //获取结果集 if (!(res=mysql_store_result(sock))) //获得sql语句结束后返回的结果集 { printf("Couldn't get result from %s/n", mysql_error(sock)); return false; } //打印结果数 printf("number of fields returned: %d/n",mysql_affected_rows(sock)); //获取字段的信息 printf("|/t%s/t|/t%s/t|/t%s/t|/n", mysql_fetch_field(res)->name, //打印各字段名 mysql_fetch_field(res)->name,mysql_fetch_field(res)->name); //打印获取的数据 while (row = mysql_fetch_row(res)) //获取下一行 { printf("|/t%s/t|/t%s/t|/t%s/t|/n", row[0], row[1], row[2]); } return true; } //插入数据 bool InsertData() { sprintf(query, "insert into user values (NULL, 'name4', 44);"); if(mysql_query(sock, query)) //执行SQL语句 { printf("Query failed (%s)/n",mysql_error(sock)); return false; } else { printf("Insert success/n"); return true; } }
相关文章推荐
- 在VC6中使用c API方式连接MySQL数据库
- 使用JDBC-ODBC 方式如何连接MySQL数据库
- 使用EntityFramework6连接MySql数据库(db first方式)
- MySQL数据库中因使用旧的加密方式无法远程连接的问题
- C++连接MYSQL数据库(使用MYSQL API方式,环境VS2013+MYSQL5.6)
- 使用连接池的方式连接数据库:使用DBUtil连接MYSQL数据库
- 使用EntityFramework6连接MySql数据库(db first方式)
- 使用连接池的方式连接数据库:使用DBUtil连接MYSQL数据库
- 使用EntityFramework6连接MySql数据库(code first方式)
- C++连接MYSQL数据库(使用MYSQL API方式,环境VS2013+MYSQL5.6)
- otl 直接使用字符串连接mysql数据库
- 如何使用Oracle sql developer连接Mysql数据库
- 使用C++连接MySQL数据库
- MySQL, XE7使用FireDAC连接MySQL数据库
- 如何使用JSON连接Android和PHP Mysql数据库
- 使用JDBC连接MYSQL数据库
- 在NetBeans IDE 8.1中连接使用MySQL数据库
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
- PHP从零单排(十二)使用PHP连接MySQL数据库
- 使用code blocks连接mysql数据库的方法