WEB开发网
开发学院软件开发VC 使用ADO封装类的数据库程序开发实例[第二版](下) 阅读

使用ADO封装类的数据库程序开发实例[第二版](下)

 2008-04-19 20:27:50 来源:WEB开发网   
核心提示:AddNew 方法:BOOL CAdoRecordSet::AddNew()Remarks: 开始添加新的纪录.Update 方法:BOOL CAdoRecordSet::Update()Remarks: 在调用 AddNew 等方法后, 调用此方法完成更新或修改.UpdateBatch 方法:BOOL CAdoRec

AddNew 方法:

BOOL CAdoRecordSet::AddNew()

Remarks: 开始添加新的纪录.

Update 方法:

BOOL CAdoRecordSet::Update()

Remarks: 在调用 AddNew 等方法后, 调用此方法完成更新或修改.

UpdateBatch 方法:

BOOL CAdoRecordSet::UpdateBatch(AffectEnum AffectRecords)

Remarks: 将所有挂起的批更新写入磁盘.

Params: AffectRecords 可选, AffectEnum 值. 决定 UpdateBatch 方法所影响的记录数目.可以为如下常量之一.

[常量] [说明]
adAffectCurrent 只写入当前记录的挂起更改.
adAffectGroup 写入满足当前 Filter 属性设置的记录所发生的挂起更改. 必须将 Filter 属性设置为某个有效的预定义常量才能使用该选项.
adAffectAll(默认值) . 写入 Recordset 对象中所有记录的挂起更改, 包括由于当前 Filter 属性设置而隐藏的任何记录.
adAffectAllChapters 写入所有子集的挂起更改.

Remarks: 按批更新模式修改 Recordset 对象时, 使用 UpdateBatch 方法可将 Recordset 对象中的所有更改传递到基本数据库.

如果 Recordset 对象支持批更新, 那么可以将一个或多个记录的多重更改缓存在本地, 然后再调用 UpdateBatch 方法. 如果在调用 UpdateBatch 方法时正在编辑当前记录或者添加新的记录, 那么在将批更新传送到提供者之前, ADO 将自动 调用 Update 方法保存对当前记录的所有挂起更改.

只能对键集或静态游标使用批更新.

CancelUpdate 方法:

BOOL CAdoRecordSet::CancelUpdate()

Name: 取消在调用 Update 方法前对当前记录或新记录所作的任何更改.

Remarks: 使用 CancelUpdate 方法可取消对当前记录所作的任何更改或放弃新添加的记录. 在调用 Update 方法后将无法撤消对当前记录或新记录所做的更改, 除非更改是可以用 RollbackTrans 方法回卷的事务的一部分, 或者是可以用 CancelBatch 方法取消的批更新的一部分.

如果在调用 CancelUpdate 方法时添加新记录, 则调用 AddNew 之前的当前记录将再次成为当前记录.

如果尚未更改当前记录或添加新记录, 调用 CancelUpdate 方法将产生错误.

CancelBatch 方法:

BOOL CAdoRecordSet::CancelBatch(AffectEnum AffectRecords)

Name: 取消挂起的批更新.

Params: AffectRecords 可选的 AffectEnum 值, 决定CancelBatch 方法所影响记录的数目, 可为下列常量之一:

[常量] [说明]
AdAffectCurrent 仅取消当前记录的挂起更新.
AdAffectGroup 对满足当前 Filter 属性设置的记录取消挂起更新.使用该选项时,必须将 Filter 性设置为合法的预定义常量之一.
AdAffectAll 默认值 取消 Recordset 对象中所有记录的挂起更新,包括由当前 Filter 属性设置所隐藏的任何记录.

Delete 方法:

BOOL CAdoRecordSet::Delete(AffectEnum AffectRecords)

Params: AffectRecords: AffectEnum 值, 确定 Delete 方法所影响的记录数目, 该值可以是下列常量之一.

[常量] [说明 ]
AdAffectCurrent 默认 仅删除当前记录.
AdAffectGroup 删除满足当前 Filter 属性设置的记录. 要使用该选项, 必须将 Filter 属性设置为有效的预定义常量之一.
adAffectAll 删除所有记录.
adAffectAllChapters 删除所有子集记录.

PutCollect/GetCollect 方法:

BOOL PutCollect(long index, const _variant_t &value);

BOOL PutCollect(long index, const CString &value);

BOOL PutCollect(long index, const double &value);

BOOL PutCollect(long index, const float &value);

BOOL PutCollect(long index, const long &value);

BOOL PutCollect(long index, const DWORD &value);

BOOL PutCollect(long index, const int &value);

BOOL PutCollect(long index, const short &value);

BOOL PutCollect(long index, const BYTE &value);

BOOL PutCollect(long index, const bool &value);

BOOL PutCollect(long index, const COleDateTime &value);

BOOL PutCollect(long index, const COleCurrency &value);

BOOL PutCollect(LPCTSTR strFieldName, const _variant_t &value);

BOOL PutCollect(LPCTSTR strFieldName, const CString &value);

BOOL PutCollect(LPCTSTR strFieldName, const double &value);

BOOL PutCollect(LPCTSTR strFieldName, const float &value);

BOOL PutCollect(LPCTSTR strFieldName, const long &value);

BOOL PutCollect(LPCTSTR strFieldName, const DWORD &value);

BOOL PutCollect(LPCTSTR strFieldName, const int &value);

BOOL PutCollect(LPCTSTR strFieldName, const short &value);

BOOL PutCollect(LPCTSTR strFieldName, const BYTE &value);

BOOL PutCollect(LPCTSTR strFieldName, const bool &value);

BOOL PutCollect(LPCTSTR strFieldName, const COleDateTime &value);

BOOL PutCollect(LPCTSTR strFieldName, const COleCurrency &value);

BOOL GetCollect(long index, CString &value);

BOOL GetCollect(long index, double &value);

BOOL GetCollect(long index, float &value);

BOOL GetCollect(long index, long &value);

BOOL GetCollect(long index, DWORD &value);

BOOL GetCollect(long index, int &value);

BOOL GetCollect(long index, short &value);

BOOL GetCollect(long index, BYTE &value);

BOOL GetCollect(long index, bool &value);

BOOL GetCollect(long index, COleDateTime &value);

BOOL GetCollect(long index, COleCurrency &value);

BOOL GetCollect(LPCSTR strFieldName, CString &strValue);

BOOL GetCollect(LPCSTR strFieldName, double &value);

BOOL GetCollect(LPCSTR strFieldName, float &value);

BOOL GetCollect(LPCSTR strFieldName, long &value);

BOOL GetCollect(LPCSTR strFieldName, DWORD &value);

BOOL GetCollect(LPCSTR strFieldName, int &value);

BOOL GetCollect(LPCSTR strFieldName, short &value);

BOOL GetCollect(LPCSTR strFieldName, BYTE &value);

BOOL GetCollect(LPCSTR strFieldName, bool &value);

BOOL GetCollect(LPCSTR strFieldName, COleDateTime &value);

BOOL GetCollect(LPCSTR strFieldName, COleCurrency &value);

在读取字段的值,本程序做了一些自动的转换,如: 如果字段的值是以数字组成的字符串,你可以用整型或双精度的值,直接读取.

上一页  1 2 3 4 5 6  下一页

Tags:使用 ADO 封装

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接