本节提供有关
NdbRecAttr
该类的信息。
- 家长班
没有任何
- 儿童班
没有任何
- 描述
-
NdbRecAttr
包含一个属性的值。在使用方法NdbRecAttr
检索对象后,对象用于存储属性值NdbOperation::getValue()
。该对象由 NDB API 分配。此处显示了一个简短示例:MyRecAttr = MyOperation->getValue("ATTR2", NULL); if(MyRecAttr == NULL) goto error; if(MyTransaction->execute(Commit) == -1) goto error; ndbout << MyRecAttr->u_32_value();
有关其他示例,请参阅 第 2.5.2 节,“使用同步事务的 NDB API 示例”。
一个对象只有在 被调用
NdbRecAttr
时才用它的值实例化 。NdbTransaction::execute()
在此之前,该值是未定义的。(NdbRecAttr::isNULL()
用于检查值是否已定义。)这意味着 对象仅在 调用 和NdbRecAttr
之间具有有效信息 。 指标的值一直到 方法被调用为止。NdbTransaction::execute()
Ndb::closeTransaction()
NULL
-1
NdbTransaction::execute()
- 方法
-
NdbRecAttr
有许多方法可以直接从此类的实例中检索各种简单类型的值。也可以通过使用
NdbRecAttr::aRef()
;来获取对值的引用,而不管其实际类型如何。但是,您应该知道这不是类型安全的,需要用户强制转换。下表列出了此类的所有公共方法以及每个方法的用途或用途:
表 2.56 NdbRecAttr 类方法及说明
姓名 描述 ~NdbRecAttr()
析构方法 aRef()
获取指向属性值的指针 char_value()
检索 Char
属性值clone()
RecAttr
制作对象的深拷贝double_value()
检索 Double
属性值,作为双精度值(8 字节)float_value()
检索 Float
属性值,作为浮点数(4 字节)get_size_in_bytes()
获取属性的大小,以字节为单位 getColumn()
获取属性所属的列 getType()
获取属性的类型 ( Column::Type
)isNULL()
测试属性是否是 NULL
int8_value()
检索 Tinyint
属性值,作为 8 位整数int32_value()
检索 Int
属性值,作为 32 位整数int64_value()
检索 Bigint
属性值,作为 64 位整数medium_value()
检索 Mediumint
属性值,作为 32 位整数short_value()
检索 Smallint
属性值,作为 16 位整数u_8_value()
检索 Tinyunsigned
属性值,作为无符号 8 位整数u_32_value()
检索 Unsigned
属性值,作为无符号 32 位整数u_64_value()
检索 Bigunsigned
属性值,作为无符号 64 位整数u_char_value()
检索一个 Char
属性值,作为一个无符号的char
u_medium_value()
检索 Mediumunsigned
属性值,作为无符号 32 位整数u_short_value()
检索 Smallunsigned
属性值,作为无符号 16 位整数该类
NdbRecAttr
没有公共构造函数;该对象的一个实例是使用创建的NdbTransaction::execute()
。有关公开的析构函数的信息,请参阅 ~NdbRecAttr()。 - 类型
该类
NdbRecAttr
未定义公共类型。
- 描述
-
类的
NdbRecAttr
析构方法。您应该只删除使用该方法
NdbRecAttr
在您的应用程序中创建的对象的 副本 。clone()
- 签名
~NdbRecAttr ( void )
- 参数
没有。
- 返回值
没有。
- 描述
此方法用于获取对属性值的引用,作为
char
指针。该指针针对数据类型进行了适当对齐。NdbTransaction::close()
在读取值的事务上执行 时,NDB API 会释放内存 。- 签名
char* aRef ( void ) const
- 参数
指向属性值的指针。因为这个指针是常量,这个方法可以在调用后随时
NdbOperation::getValue()
调用。- 返回值
没有。
- 描述
-
此方法创建
NdbRecAttr
对象的深层副本。当不再需要时,应用程序应删除由此方法创建的副本。
- 签名
NdbRecAttr* clone ( void ) const
- 参数
没有。
- 返回值
一个
NdbRecAttr
对象。这是原件的完整副本,包括所有数据。
- 描述
此方法获取
Double
存储在NdbRecAttr
对象中的值,并将其作为双精度值返回。- 签名
double double_value ( void ) const
- 参数
没有。
- 返回值
双精度(8 字节)。
- 描述
此方法获取
Float
存储在NdbRecAttr
对象中的值,并将其作为浮点数返回。- 签名
float float_value ( void ) const
- 参数
没有。
- 返回值
浮点数(4 个字节)。
- 描述
您可以使用此方法获取属性(元素)的大小。
- 签名
Uint32 get_size_in_bytes ( void ) const
- 参数
没有。
- 返回值
以字节为单位的属性大小,作为无符号 32 位整数。
- 描述
该方法用于获取属性所属的列。
- 签名
const NdbDictionary::Column* getColumn ( void ) const
- 参数
没有。
- 返回值
指向
Column
对象的指针。
- 描述
此方法获取
Small
存储在NdbRecAttr
对象中的值,并将其作为 8 位有符号整数返回。- 签名
Int8 int8_value ( void ) const
- 参数
没有。
- 返回值
一个 8 位有符号整数。
- 描述
此方法获取
Int
存储在NdbRecAttr
对象中的值,并将其作为 32 位带符号整数返回。- 签名
Int32 int32_value ( void ) const
- 参数
没有。
- 返回值
一个 32 位有符号整数。
- 描述
此方法获取
Bigint
存储在NdbRecAttr
对象中的值,并将其作为 64 位有符号整数返回。- 签名
Int64 int64_value ( void ) const
- 参数
没有。
- 返回值
一个 64 位有符号整数。
- 描述
此方法检查给定的属性值是否为
NULL
。- 签名
int isNULL ( void ) const
- 参数
没有。
- 返回值
-
以下三个值之一:
-1
: 由于错误,属性值未定义。0
:属性值已定义,但未定义NULL
。1
: 属性值已定义且为NULL
。
NdbTransaction::execute()
在尚未调用
的事件中,
返回的值isNULL()
不确定。
- 描述
获取
Mediumint
存储在NdbRecAttr
对象中的值的值,并将其作为 32 位带符号整数返回。- 签名
Int32 medium_value ( void ) const
- 参数
没有。
- 返回值
一个 32 位有符号整数。
- 描述
此方法获取
Smallint
存储在NdbRecAttr
对象中的值,并将其作为 16 位带符号整数(短整数)返回。- 签名
short short_value ( void ) const
- 参数
没有。
- 返回值
一个 16 位有符号整数。
- 描述
此方法获取
Smallunsigned
存储在NdbRecAttr
对象中的值,并将其作为 8 位无符号整数返回。- 签名
Uint8 u_8_value ( void ) const
- 参数
没有。
- 返回值
一个 8 位无符号整数。
- 描述
此方法获取
Unsigned
存储在NdbRecAttr
对象中的值,并将其作为 32 位无符号整数返回。- 签名
Uint32 u_32_value ( void ) const
- 参数
没有。
- 返回值
一个 32 位无符号整数。
- 描述
此方法获取
Bigunsigned
存储在NdbRecAttr
对象中的值,并将其作为 64 位无符号整数返回。- 签名
Uint64 u_64_value ( void ) const
- 参数
没有。
- 返回值
一个 64 位无符号整数。
- 描述
此方法获取
Char
存储在NdbRecAttr
对象中的值,并将其作为 unsigned 返回char
。- 签名
Uint8 u_char_value ( void ) const
- 参数
没有。
- 返回值
一个 8 位无符号
char
值。
- 描述
此方法获取
Mediumunsigned
存储在NdbRecAttr
对象中的值,并将其作为 32 位无符号整数返回。- 签名
Uint32 u_medium_value ( void ) const
- 参数
没有。
- 返回值
一个 32 位无符号整数。
- 描述
此方法获取
Smallunsigned
存储在NdbRecAttr
对象中的值,并将其作为 16 位(短)无符号整数返回。- 签名
Uint16 u_short_value ( void ) const
- 参数
没有。
- 返回值
短(16 位)无符号整数。