使用ADO封装类的数据库程序开发实例[第二版](下)
2008-04-19 20:27:50 来源:WEB开发网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);
在读取字段的值,本程序做了一些自动的转换,如: 如果字段的值是以数字组成的字符串,你可以用整型或双精度的值,直接读取.
更多精彩
赞助商链接