GBASE_BIND
结构说明
该结构用于语句输入(发送给服务器的数据值)和输出(从服务器返回的
结果值)
。对于输入,它与gbase_stmt_bind_param()一起使用,用于将参数数
据值绑定到缓冲区上,以供gbase_stmt_execute()使用。对于输出,它与
gbase_stmt_bind_result()一起使用,用于绑定结果缓冲区,以便用于用
gbase_stmt_fetch()以获取行。
GBASE_BIND 结构包含下述供应用程序使用的成员。每个成员用于输入和输
出,但在某些时候,也能用于不同的目的,具体情况取决于数据传输的方向。
结构成员
GBase 8a 程序员手册C API 篇
- 52 -
南大通用数据技术股份有限公司
名 称
类 型
描 述
buffer_type
enum_field_typ
es
缓冲的类型。
buffer
void *
指向缓冲区的指针。
buffer_length
unsigned long
缓冲区的实现大小,单位为字节。
length
unsigned long*
指向unsigned long 变量的指针,
该变量指明了存储在*buffer 中数
据的实际字节数。
is_null
gs_bool*
该成员指向gs_bool 变量,如果值
为NULL,该变量为“真”,如果值为
非NULL,该变量为“假”。“is_null”
是指向布尔类型的指针,而不是布
尔标量,
以便能以下述方式使用它:
1、如果数据值总是
NULL,使用
GBASE_TYPE_NULL 绑
定列。
2、如果数据值总是
NOT NULL,设置
is_null =
(gs_bool*) 0。
3、在所有其他情况
下,应将is_null 设
置为gs_bool 变量的
地址,并在各次执行
之间恰当地更改变量
的值,以指明数据值
是NULL 或NOT NULL。
is_unsigned
gs_bool
对于无符号类型,应将
“is_unsigned”设置为“真”,对于带
符号类型,应将其设置为“假”。
GBase 8a 程序员手册C API 篇
南大通用数据技术股份有限公司
- 53 -
名 称
类 型
描 述
error
gs_bool
对于输出,该成员用于通报数据截
短错误。必须通过调用带有
GBASE_REPORT_DATA_TRUNCATION
选项的gbase_options(),启用截
短通报功能。允许该功能后,
gbase_stmt_fetch()返回
GBASE_DATA_TRUNCATED,而且对于
出现截短情况的参数,在
GBASE_BIND 结构中,错误标志为
“真”。截短指明丢失了符号或有效
位数,或字符串过长以至于无法容
纳在1列中。