暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术分享 ・ GBase C API函数表述其二

GBASE数据库 2023-02-22
302

10、gbase_fetch_field
 摘要:
返回采用 GBASE_FIELD 结构的结果集的列。重复调用该函数,以检索关于结果集中所有列的信息。未剩余字段时,gbase_fetch_field()返回 NULL。每次执行新的 SELECT 查询时,将复位 gbase_fetch_field(),以返回关于第 1 个字段的信息。调用 gbase_field_seek()也会影响 gbase_fetch_field()返回的字段。
 语法:

GBASE_FIELD * gbase_fetch_field(GBASE_RES *result);
 参数:
 返回值:
当前列的 GBASE_FIELD 结构。如果未剩余任何列,返回 NULL。
11、gbase_fetch_field_direct
 摘要:
给定结果集内某 1 列的字段编号,以 GBASE_FIELD 结构形式返回列的字段定义。可以使用该函数检索任意列的定义。字段编号的值应在从 0 到gbase_num_fields(result)-1 的范围内。
 语法:
GBASE_FIELD *gbase_fetch_field_direct(GBASE_RES *res, unsigned intfieldnr);
 参数:
 返回值:
对于指定列,返回 GBASE_FIELD 结构。
12、gbase_fetch_fields
 摘要:
对于结果集,返回所有 GBASE_FIELD 结构的数组。每个结构提供了结果集中 1 列的字段定义。
 语法:
GBASE_FIELD * gbase_fetch_fields(GBASE_RES *res);
 参数

 返回值:
对于结果集,返回所有 GBASE_FIELD 结构的数组。每个结构提供了结果集中 1 列的字段定义。
13、gbase_fetch_lengths
 摘要:
返回结果集内当前行的列的长度。如果打算复制字段值,该长度信息有助于优化,这是因为,你能避免调用 strlen()。此外,如果结果集包含二进制数据,必须使用该函数来确定数据的大小,原因在于,对于包含 NULL 字符的任何字段,strlen()将返回错误的结果。
 语法:
unsigned long * gbase_fetch_lengths(GBASE_RES *result);
 参数:
 返回值:
无符号长整数的数组表示各列的大小(不包括任何终结 NULL 字符)。如果出现错误,返回 NULL。
14、gbase_fetch_row
 摘要:
检索结果集的下一行。在 gbase_store_result()之后使用时,如果没有要检索的行,gbase_fetch_row()返回 NULL。在 gbase_use_result()之后使用时,如果没有要检索的行或出现了错误,gbase_fetch_row()返回 NULL。行内值的数目由 gbase_num_fields(result)给出。如果行中保存了调用gbase_fetch_row()返回的值,将按照 row[0]到row[gbase_num_fields(result)-1],访问这些值的指针。行中的 NULL 值由 NULL指针指明。

可以通过调用 gbase_fetch_lengths()来获得行中字段值的长度。对于空字段以及包含 NULL 的字段,长度为 0。通过检查字段值的指针,能够区分它们。如果指针为 NULL,字段为 NULL,否则字段为空。
 语法:
GBASE_ROW gbase_fetch_row(GBASE_RES *result);
 参数:
 返回值:
下一行的 GBASE_ROW 结构。如果没有更多要检索的行或出现了错误,返回
NULL。
15、gbase_field_seek
 摘要:
将字段光标设置到给定的偏移处。对 gbase_fetch_field()的下一次调用将检索与该偏移相关的列定义。要想查找行的开始,请传递值为 0 的偏移量。
 语法:
GBASE_FIELD_OFFSET gbase_field_seek(GBASE_RES *result,
GBASE_FIELD_OFFSET offset);
 参数:
 返回值:
字段光标的前一个值。

16、gbase_field_count
 摘要:
返回作用在连接上的最近查询的列数。该函数的正常使用是在gbase_store_result()返回 NULL(因而没有结果集指针)时。在这种情况下,可调用gbase_field_count()来判定 gbase_store_result()是否应生成非空结果。这样,客户端就能采取恰当的动作,而无需知道查询是否是 SELECT(或类似 SELECT 的)语句。
 语法:
unsigned int gbase_field_count(GBASE *gbase);
 参数:
 返回值:
表示结果集中列数的无符号整数。
17、gbase_field_tell
 摘要:
返回上一个 gbase_fetch_field()所使用的字段光标的定义。该值可用作gbase_field_seek()的参量。
 语法:
GBASE_FIELD_OFFSET gbase_field_tell(GBASE_RES *res);
 参数:
 返回值:
字段光标的当前偏移量。

18、gbase_free_result
 摘要:
释放由 gbase_store_result()、gbase_use_result()、gbase_list_dbs()等为结果集分配的内存。完成对结果集的操作后,必须调用 gbase_free_result()
释放结果集使用的内存。释放完成后,不要尝试访问结果集。
 语法:
void gbase_free_result(GBASE_RES *result);
 参数:
 返回值:

19、gbase_get_character_set_info
 摘要:
该函数提供了关于默认客户端字符集的信息。可以使用gbase_set_character_set()函数更改默认的字符集。
 语法:
void gbase_get_character_set_info(GBASE *gbase, GS_CHARSET_INFO*charset);
 参数:
 返回值:

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论