使用ADO封装类的数据库程序开发实例[第二版](下)
2008-04-19 20:27:50 来源:WEB开发网Remarks: 使用 Status 属性查看在批更新中被修改的记录有哪些更改被挂起. 也可使用 Status 属性查看大量操作时失败记录的状态. 例如, 调用 Recordset 对象的 Resync、UpdateBatch 或 CancelBatch 方法, 或者设置 Recordset 对象的 Filter 属性为书签数组. 使用该属性, 可检查指定记录为何失败并将问题解决.
long CAdoRecordSet::GetRecordCount()
Name: 获取当前记录集中记录数目
long CAdoRecordSet::GetFieldsCount()
Name: 获取当前记录集中字段数目
BOOL CAdoRecordSet::IsBOF()
Name: 指针是否在在记录集头
BOOL CAdoRecordSet::IsEOF()
Name: 指针是否在在记录集尾
字段属性:
FieldsPtr CAdoRecordSet::GetFields()
Remarks: Recordset 对象包括 Field 对象组成的 Fields 集合. 每个Field 对象对应 Recordset 集中的一列.
GetField
FieldPtr CAdoRecordSet::GetField(long lIndex)
FieldPtr CAdoRecordSet::GetField(LPCTSTR lpszFieldName)
Name: 取得指定列的字段对象的指针.
FieldName
CString CAdoRecordSet::GetFieldName(long lIndex)
Remarks: 取得指定列字段的字段名.
FieldAttributes:
long CAdoRecordSet::GetFieldAttributes(long lIndex)
long CAdoRecordSet::GetFieldAttributes(LPCTSTR lpszFieldName)
name: 取得 Field 对象一项或多项属性.
returns: 对于 Field 对象, Attributes 属性为只读, 其值可能为以下任意一个或多个 FieldAttributeEnum 值的和.
[常量] | [说明] |
adFldMayDefer | 指示字段被延迟, 即不从拥有整个记录的数据源检索字段值, 仅在显式访问这些字段时才进行检索. |
adFldUpdatable | 指示可以写入该字段. |
adFldUnknownUpdatable | 指示提供者无法确定是否可以写入该字段. |
adFldFixed | 指示该字段包含定长数据. |
adFldIsNullable | 指示该字段接受 Null 值. |
adFldMayBeNull | 指示可以从该字段读取 Null 值. |
adFldLong | 指示该字段为长二进制字段. 并指示可以使用 AppendChunk 和 GetChunk 方法. |
adFldRowID | 指示字段包含持久的行标识符, 该标识符无法被写入,并且除了对行进行标识(如记录号、唯一标识符等)外不存在有意义的值. |
adFldRowVersion | 指示该字段包含用来跟踪更新的某种时间或日期标记. |
adFldCacheDeferred | 指示提供者缓存了字段值, 并已完成随后对缓存的读取. |
DefineSize:
long CAdoRecordSet::GetFieldDefineSize(long lIndex)
long CAdoRecordSet::GetFieldDefineSize(LPCTSTR lpszFieldName)
Name: 指示 Field 对象所定义的长度.
returns: 返回某个字段定义的长度(按字节数)的长整型值.
Remarks: 使用 DefinedSize 属性可确定 Field 对象的数据容量.
ActualSize:
long CAdoRecordSet::GetFieldActualSize(long lIndex)
long CAdoRecordSet::GetFieldActualSize(LPCTSTR lpszFieldName)
Name: 取得字段的值的实际长度.
returns: 返回长整型值.某些提供者允许设置该属性以便为 BLOB 数据预留空间, 在此情况下默认值为 0.
Remarks: 使用 ActualSize 属性可返回 Field 对象值的实际长度.对于所有字段,ActualSize 属性为只读.如果 ADO 无法确定 Field 对象值的实际长度, ActualSize 属性将返回 adUnknown. 如以下范例所示, ActualSize 和 DefinedSize 属性有所不同: adVarChar 声明类型且最大长度为 50 个字符的 Field 对象将返回为 50 的 DefinedSize 属性值, 但是返回的 ActualSize 属性值是当前记录的字段中存储的数据的长度.
FieldType:
DWORD CAdoRecordSet::GetFieldType(long lIndex)
DWORD CAdoRecordSet::GetFieldType(LPCTSTR lpszFieldName)
returns: 返回下列值之一. 相应的 OLE DB 类型标识符在下表的说明栏的括号中给出.
[常量] | [说明] |
adArray | 与其他类型一起加入逻辑 OR 以指示该数据是那种类型的安全数组 (DBTYPE_ARRAY). |
adBigInt | 8 字节带符号的整数 (DBTYPE_I8). |
adBinary | 二进制值 (DBTYPE_BYTES). |
adBoolean | 布尔型值 (DBTYPE_BOOL). |
adByRef | 与其他类型一起加入逻辑 OR 以指示该数据是其他类型数据的指针 (DBTYPE_BYREF). |
adBSTR | 以空结尾的字符串 (Unicode) (DBTYPE_BSTR). |
adChar | 字符串值 (DBTYPE_STR). |
adCurrency | 货币值 (DBTYPE_CY).货币数字的小数点位置固定、小数点右侧有四位数字.该值保存为 8 字节范围为10,000 的带符号整型值. |
adDate | 日期值 (DBTYPE_DATE).日期按双精度型数值来保存, 数字全部表示从 1899 年 12 月 30 开始的日期数.小数部分是 一天当中的片段时间. |
adDBDate | 日期值 (yyyymmdd) (DBTYPE_DBDATE). |
adDBTime | 时间值 (hhmmss) (DBTYPE_DBTIME). |
adDBTimeStamp | 时间戳 (yyyymmddhhmmss 加 10 亿分之一的小数)(DBTYPE_DBTIMESTAMP). |
adDecimal | 具有固定精度和范围的精确数字值 (DBTYPE_DECIMAL). |
adDouble | 双精度浮点值 (DBTYPE_R8). |
adEmpty | 未指定值 (DBTYPE_EMPTY). |
adError | 32 - 位错误代码 (DBTYPE_ERROR). |
adGUID | 全局唯一的标识符 (GUID) (DBTYPE_GUID). |
adIDispatch | OLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH). |
adInteger | 4 字节的带符号整型 (DBTYPE_I4). |
adIUnknown | OLE 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN). |
adLongVarBinary | 长二进制值. |
adLongVarChar | 长字符串值. |
adLongVarWChar | 以空结尾的长字符串值. |
adNumeric | 具有固定精度和范围的精确数字值 (DBTYPE_NUMERIC). |
adSingle | 单精度浮点值 (DBTYPE_R4). |
adSmallInt | 2 字节带符号整型 (DBTYPE_I2). |
adTinyInt | 1 字节带符号整型 (DBTYPE_I1). |
adUnsignedBigInt | 8 字节不带符号整型 (DBTYPE_UI8). |
adUnsignedInt | 4 字节不带符号整型 (DBTYPE_UI4). |
adUnsignedSmallInt | 2 字节不带符号整型 (DBTYPE_UI2). |
adUnsignedTinyInt | 1 字节不带符号整型 (DBTYPE_UI1). |
adUserDefined | 用户定义的变量 (DBTYPE_UDT). |
adVarBinary | 二进制值. |
adVarChar | 字符串值. |
adVariant | 自动变体型 (DBTYPE_VARIANT). |
adVector | 与其他类型一起加入逻辑 OR 中, 指示数据是 DBVECTOR 结构(由 OLE DB 定义).该结构含有元素的计数和其他类型 (DBTYPE_VECTOR) 数据的指针. |
adVarWChar | 以空结尾的 Unicode 字符串. |
adWChar | 以空结尾的 Unicode 字符串 (DBTYPE_WSTR). |
Remarks: 返回指定字段的数据类型.
IsFieldNull:
BOOL CAdoRecordSet::IsFieldNull(LPCTSTR lpFieldName)
BOOL CAdoRecordSet::IsFieldNull(long index)
当前的记录的指定字段值是否为NULL;
更多精彩
赞助商链接