您的位置:首页 > 编程语言 > C语言/C++

c语言访问mysql数据库 包括BLOB字段的访问

2013-03-25 20:13 232 查看
MYSQL 是一个开源的免费数据库,应用于小成本的网站或商业软件。

当然这个数据库也封装了一些编程接口, 安装目录下的 lib 和 include文件包含提供给编程人员的接口(虽然不知道底层的具体实现,但是理论上因该是odbc或者是ado的实现, 对于ODBC和ADO 的原理这个无从得知).

搞了一段时间了,基本上熟悉了 MYSQL API的各个接口。

下面写出访问数据库的具体流程

预编译前

1. 在工程目录中包含 mysql 提供的接口 include 和 LIB文件

2.把mysql下的 libmysql.dll文件拷贝到工程目录下

3. 预编译前 #include "winsock.h" #include "mysql.h" #pragma comment(lib,"libmysql.lib")

4.定义 MYSQL mysql; 数据库连接句柄 使用玩后用 mysql_close(&mysql) 释放连接

5.mysql_init(&mysql) 数据库初始化

6. mysql_real_connect(&mysql,“localhost”,"root","password","初始数据库”,3306,NULL,0) //端口可自行设定,成功返回非零值

7, mysql_real_query(&mysql,string.c_str(),string.GetLen()) 和mysql_query(&mysql,string.c_str()) //发送 sql语句过去 如果查询成功,返回0

8.MYSQL_RES* res; 变量使用查询的结果 用完后调用 mysql_free_result() 释放 MYSQL_ROW row;

9.(1)res = mysql_store_result(&mysql); \\立刻检索全部结果 该函数从服务器获得查询返回的所有行,并将他们存储在客户端

9.(2)res=mysql_use_result(&mysql) \\初始化一个一行一行地结果集合的检索。该函数初始化检索,但是实际上不从服务器获得任何行。 fetch的时候才从服务器检索

10. 不管是哪种方法 用 row=mysql_fetch_row(result) mysql_fetch_lengths()可获得关于每行中数据值尺寸的信息


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: