绑定条目宏

  绑定条目宏

  绑定条目宏定义了一个Recordset字段与一个变量间的对应关系。每个条目的绑定宏由开始宏与结束宏组成并配对使用。

  定长数据的宏适用于adDate,adBoolean等,数字的宏适用于adTinyInt, adInteger和adDouble等,变长数据的宏适用于adChar, adVarChar和adVarBinary等。所有的数字类型,除了adVarNumeric以外也是定长数据类型。每个宏的族之间都有不同的参数组,因此你可以排除不感兴趣的绑定信息。

  参见OLE DB程序员参考附录A:数据类型的更多信息

  开始绑定条目

BEGIN_ADO_BINDING(Class)

  定长数据:

ADO_FIXED_LENGTH_ENTRY(Ordinal, DataType, Buffer, Status, Modify)
ADO_FIXED_LENGTH_ENTRY2(Ordinal, DataType, Buffer, Modify)

  数字型数据:

ADO_NUMERIC_ENTRY(Ordinal, DataType, Buffer, Precision, Scale, Status, Modify)
ADO_NUMERIC_ENTRY2(Ordinal, DataType, Buffer, Precision, Scale, Modify)

  变长数据:

ADO_VARIABLE_LENGTH_ENTRY(Ordinal, DataType, Buffer, Size, Status, Length, Modify)
ADO_VARIABLE_LENGTH_ENTRY2(Ordinal, DataType, Buffer, Size, Status, Modify)
ADO_VARIABLE_LENGTH_ENTRY3(Ordinal, DataType, Buffer, Size, Length, Modify)
ADO_VARIABLE_LENGTH_ENTRY4(Ordinal, DataType, Buffer, Size, Modify)

  结束绑定

END_ADO_BINDING()

参数描述
Class派生类的名字。
Ordinal从1开始的序号,对应于Recordset中的字段。
DataType与C/C++变量对应的ADO数据类型(参见DataTypeEnum以获得有效数据类型的列表)。如果需要,字段的值会被转换成该类型的值。
Buffer对应的C/C++变量的名字。
Size该C/C++变量的最大字节数。如果是个变长字符串,使用0表示即可。
Status 指示变量的名字。该变量用以表示缓冲是否有效,数据转换是否成功。值adFldOK意味着转换成功;adFldNull意味着该字段的值为空。其他可能的值见后面的状态值列表。
Modify逻辑标志。TRUE意味着ADO允许利用变量值更新Recordset中的字段的值。设置该值为TRUE将允许更新,如果你只想检查字段的值而不想改变它那么就设置为FALSE。
Precision数字型变量的位数。
Scale数字型变量的小数位数。
Length一个4字节变量的名字。该变量将包含缓冲区中数据的实际长度。

  状态值

  变量Status的值指示了一个字段的值是否被成功的拷贝到了对应的变量中。写数据时,可以给Status赋值为adFldNull来指示该字段将被设置为null。

常量 描述
adFldOK0 一个非空的字段值被返回。
adFldBadAccessor 1 绑定无效。
adFldCantConvertValue2 值因为符号不匹配或超界外的原因导致无法被正确转换。
adFldNull 3 读字段值时,指示一个空值被返回。写字段值时,指示当字段自身无法编码NULL时该字段将被设置为NULL。
adFldTruncated 4 变长数据或数字被截断。
adFldSignMismatch 5 值是有符号数,而数据类型是无符号数。
adFldDataOverFlow 6 数据值超出界限。
adFldCantCreate 7 不知名的列类型和字段已经被打开。
adFldUnavailable8 字段值无法确定。比如一个新的未赋值的无缺省值的字段。
adFldPermissionDenied 9 未被允许更新数据。
adFldIntegrityViolation 10 更新字段时值违反了列的完整性要求。
adFldSchemaViolation 11 更新字段时值违反了列的规范要求。
adFldBadStatus12 更新字段时,无效的状态参数。
adFldDefault 13 更新字段时,使用缺省值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值