GBase C API 接口开发手册(二)

flags 字段值集合

标志值 标志描述

NOT_NULL_FLAG 字段不能为 NULL PRI_KEY_FLAG 字段是主键的组成部分 UNIQUE_KEY_FLAG 字段是唯一键的组成部分 MULTIPLE_KEY_FLAG 字段是非唯一键的组成部分 UNSIGNED_FLAG 字段具有 UNSIGNED 属性 ZEROFILL_FLAG 字段具有 ZEROFILL 属性 BINARY_FLAG 字段具有 BINARY 属性 AUTO_INCREMENT_FLAG 字段具有 AUTO_INCREMENT 属性 ENUM_FLAG 字段是 ENUM(不再重视) SET_FLAG 字段是 SET(不再重视) BLOB_FLAG 字段是 BLOB 或 TEXT(不再重视) TIMESTAMP_FLAG 字段是 TIMESTAMP(不再重视)

标志值的典型用法:

if (field->flags & NOT_NULL_FLAG)

printf("Field can't be null\n");

可以使用下述方面的宏来定义标志值的布尔状态:

标志状态 描 述 IS_NOT_NULL(flags) 如果该字段定义为 NOT NULL,为“真”。 IS_PRI_KEY(flags) 如果该字段是主键,为“真”。 IS_BLOB(flags) 如果该字段是 BLOB 或 TEXT,为“真”(不再重视, 用测试 field->type 取而代之)。 Ø

type 字段值集合

类型值 类型描述

GBASE_TYPE_TINY TINYINT 字段 GBASE_TYPE_SHORT SMALLINT 字段 GBASE_TYPE_LONG INTEGER 字段 GBASE_TYPE_INT24 MEDIUMINT 字段 GBASE_TYPE_LONGLONG BIGINT 字段 GBASE_TYPE_DECIMAL DECIMAL 或 NUMERIC 字段 GBASE_TYPE_NEWDECIMAL 精度数 DECIMAL 或 NUMERIC GBASE_TYPE_FLOAT FLOAT 字段 GBASE_TYPE_DOUBLE DOUBLE 或 REAL 字段 GBASE_TYPE_BIT BIT 字段 GBASE_TYPE_TIMESTAMP TIMESTAMP 字段 GBASE_TYPE_DATE DATE 字段 GBASE_TYPE_TIME TIME 字段 GBASE_TYPE_DATETIME DATETIME 字段 GBASE_TYPE_YEAR YEAR 字段 GBASE_TYPE_STRING CHAR 字段 GBASE_TYPE_VAR_STRING VARCHAR 字段 GBASE_TYPE_BLOB BLOB 或 TEXT 字段(使用 max_length 来确 定最大长度) GBASE_TYPE_SET SET 字段 GBASE_TYPE_ENUM ENUM 字段 GBASE_TYPE_GEOMETRY Spatial 字段 GBASE_TYPE_NULL NULL-type 字段 GBASE_TYPE_CHAR 不再重视,用 GBASE_TYPE_TINY 取代

3.1.5GBASE_FIELD_OFFSET

u 结构说明

这是 GBASE 字段列表偏移量的“类型安全”表示(由 gbase_field_seek() 使用)。偏移量是行内的字段编号,从 0 开始。

3.1.6gs_ulonglong

u 结构说明

用于行数以及 gbase_affected_rows()、gbase_num_rows()的类型。该类型 提供的范围为 0-1.84e19。

在某些系统上,不能打印类型 gs_ulonglong 的值。要想打印这类值,请将 其转换为无符号长整数类型并使用%lu 打印格式,如:

printf ("Number of rows: %lu\n", (unsigned long)

gbase_num_rows(result))

3.2函数描述

3.2.1gbase_affected_rows

u 摘要:

返回上次 UPDATE 更改的行数,上次 DELETE 删除的行数,或上次 INSERT 语 句插入的行数。对于 UPDATE、DELETE 或 INSERT 语句,可在 gbase_query()后立 刻调用。对于 SELECT 语句,gbase_affected_rows()的工作方式与 gbase_num_rows()类似。

u 语法:

gs_ulonglong gbase_affected_rows(GBASE *gbase);

u 参数:

gbase 数据库句柄

u 返回值:

大于 0 的整数表明受影响或检索的行数。“0”表示 UPDATE 语句未更新记录, 在查询中没有与 WHERE 匹配的行,或未执行查询。“-1”表示查询返回错误,或 者对于 SELECT 查询,在调用 gbase_store_result()之前调用了 gbase_affected_rows()。由于 gbase_affected_rows()返回无符号值,通过比 较返回值和“(gs_ulonglong)-1”或等效的“(gs_ulonglong)~0”,检查是否为 “-1”。.

3.2.2gbase_autocommit

u 摘要:

如果模式为“1”,启用 autocommit 模式;如果模式为“0”,禁止 autocommit 模式。

u 语法: gs_bool gbase_autocommit(GBASE * gbase, gs_bool auto_mode);

u 参数: gbase 数据库句柄 auto_mode 值为 0 或 1,用来启用或禁止 autocommit 模式 u 返回值: 如果成功,返回 0,如果出现错误,返回非 0 值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值