处理语句 _MySQL 的 C API预
来源:互联网 发布:mac 格式化移动硬盘 编辑:程序博客网 时间:2024/06/05 07:30
处理语句 _MySQL 的 C API预
转载请标明出处:http://blog.csdn.net/py_dedeopmood 本文来自 CSDN 博客。x
预处理执行是一种有效的方式。首先对语句进行解析,MySQL 客户端/服务器协议提供了预处理语句。该功能采用了由 mysql_stmt_init 初始化函数返回的 MYSQL_STMT 语句处置顺序数据结构。对于多次执行的语句。为执行作好准备。接下来,以后使用初始化函数返回的语句句柄执行一次或多次。
预处置执行比直接执行快,对于多次执行的语句。主要原因在于,仅对查询执行一次解析操作。直接执行的情况下,每次执行语句时,均将进行查询。此外,由于每次执行预处置语句时仅需发送参数的数据,从而减少了网络通信量。
从而使得客户端和服务器之间的数据传输更有效率。 预处理语句的另一个优点是采用了二进制协议。
不支持其他语句。 下述语句可用作预处理语句: CREA TE TA BLE DELETE DO INSERT REPLA CE SELECT SET UPDA TE 以及大多数 SHOW 语句。 MySQL 5.1 中。
25.2.5. C API 预处理语句的数据类型
预处置语句主要使用 MYSQL_STMT 和 MYSQL_BIND 数据结构。第 3 种结构 MYSQL_TIME 用于传输暂时性数据。
MYSQL_STMT
返回语句句柄,该结构表示预处理语句。通过调用 mysql_stmt_init 创建语句。即指向 MYSQL_STMT 指针。该句柄用户所有后续的与语句有关的函数,直至使用 mysql_stmt_clos 关闭了为止。
不应尝试复制 MYSQL_STMT 结构。不保证这类复制物会有用。 MYSQL_STMT 结构没有供应用程序使用的参数。此外。
多个语句句柄能够与单个连接关联起来。对句柄数目的限制取决于系统资源。
MYSQL_BIND
与 mysql_stmt_bind_param 一起使用,该结构用于语句输入(发送给服务器的数据值)和输出(从服务器返回的结果值)对于输入。用于将参数数据值绑定到缓冲区上,以供 mysql_stmt_execut 使用。对于输出,与 mysql_stmt_bind_result 一起使用,用于绑定结果缓冲区,以便用于 with mysql_stmt_fetch 以获取行。
但在某些时候,MYSQL_BIND 结构包括下述供应用程序使用的成员。每个成员用于输入和输出。也能用于不同的目的具体情况取决于数据传输的方向。
o enum enum_field_typ buffer_typ
buffer_typ 指明了与语句参数捆绑的值类型。对于输出,缓冲的类型。本节后面列出了允许的 buffer_typ 值。对于输入。指明了希望从结果缓冲收到值类型。
o void *buffer
这是指向存储语句参数数据值的缓冲的指针。对于输出,对于输入。指向返回结果集列值的缓冲的指针。对于数值列类型,缓冲应指向恰当的 C 类型变量(如果将该变量与具有 UNSIGNED 属性的列关联起来,变量 unsign C 类型。通过使用 is_unsign 成员,指明变量是 sign 或 unsign 类型,详情请参见本节后面的介绍)对于日期和时间列类型,缓冲应指向 MYSQL_TIME 结构。对于字符和二进制字符串列类型,缓冲应指向字符缓冲区。
- 处理语句 _MySQL 的 C API预
- 处理语句 _MySQL 的 C API预
- 最新_MySQL 的 C API预处理语句
- C++_mysql
- MySQL 的 C API预处理语句
- MySQL 的 C API预处理语句
- _mysql.c:2638: 错误:‘_mysql_ConnectionObject’没有名为‘open’的成员
- 【c++】处理语句
- 小贝_mysql sql语句优化过程
- 最小白_mysql的安装
- _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决
- _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决
- _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决
- _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决
- Python-MySQLdb _mysql.c(42)错误
- MySQL C API预处理返回结果的处理
- 作图像处理时常用的C/C++语句积累!
- linux c 字符串处理API
- Mysql安装问题
- 20 个 MySQL客户工具和API
- 详细的MySQL C API
- 生成->条件编译符号
- ural 1026 Questions and Answers
- 处理语句 _MySQL 的 C API预
- MySQL 加入微软Visual Studio工业伙伴
- UVa:10167-birthday cake
- cvc-complex-type.2.4.a错误解决方法
- 【原创】我的新年祝福短信
- 参考手册MySQL 以及MySQL下载网址:
- MySQL 加固方法
- 建立 Subversion 服务器 by Michael
- MySQL 加固方法