· | CRecordset::none | 未设置选项。此参数值与所有其它的值是相互独立的。缺省的,记录集可以用Edit或Delete来更新,并允许用AddNew来添加新记录。这种可更新性依赖于数据源,就像你所指定的nOpenType选项。成组添加的优化是没有用的。成组行检取不会被实现。在记录集中导航时,不能略过被删除的记录。书签是没有用的。实现了自动脏字段检查。
|
· | CRecordset::appendOnly | 不允许在记录集中进行Edit或Delete。值允许AddNew。此选项与CRecordset::readOnly相互独立。
|
· | CRecordset::readOnly | 用只读方式打开记录集。此选项与CRecordset::appendOnly相互独立。
|
· | CRecordset::optimizeBulkAdd | 使用预备的SQL语句来优化一次添加多个记录。只有在你不使用ODBC API函数SQLSetPos来更新记录集时才使用。第一次更新确定将哪一个字段标记为脏的。此选项与CRecordset::useMultiRowFetch相互独立。
|
· | CRecordset::useMultiRowFetch | 实现成组行检取,允许在一次检取操作中获取多行。这是一个高级特征,是设计来提高性能的;但是,ClassWizard不支持成组记录字段交互。此选项与CRecordset::optimiazBulkAdd相互独立。注意,如果你指定了CRecordset::useMultiRowFetch,则选项CRecordset::noDirtyFieldCheck将自动被返回(双缓冲将无效);对于只向前记录集,选项CRecordset::useExtendedFetch将被自动返回。
|
· | CRecordset::skipDeletedRecords | 当在记录集中导航时,略过所有已被删除的记录。这将使某个相关获取的性能下降。在一个只向前的记录集中,此选项是无效的。注意,CRecordset::skipDeletedRecords与“驱动器包装”相似,驱动器包装意味着被删除的行被从记录集中移走。但是,如果你的驱动器包装记录,则它将只略过那些被你删除的记录;而不会略过在记录集打开时被其它用户删除的记录。CRecordset::skipDeletedRecords将会略过被其它用户删除的记录。
|
· | CRecordset::useBookarks | 允许在记录集中使用书签,如果支持书签的话。书签会使数据检取变慢,但是会提高数据导航的性能。在只向前的记录集中此选项是无效的。
|
· | CRecordset::noDirtyFieldCheck | 关闭自动脏数据检查(双缓冲)。这将提高性能;但是,你必须通过调用SetFieldDirty和SetFieldNull成员函数来手动标记变脏的字段。注意,CRecordset类中的双缓冲类似于CDaoRecordset中的双缓冲。但是,在CRecordset中,你不能在独立字段中使双缓冲有效;你只能对所有字段使它有效或无效。注意,如果你指定了选项CRecordset::useMultiRowFetch,则CRecordset::noDirtyFieldCheck将被自动返回;但是,SetFieldDirty和SetFieldNull不能在实现成组行检取的记录集中使用。
|
· | CRecordset::executeDirect | 不要使用预备的SQL语句。如果永远不会调用Requery成员函数,则指定此选项来提高性能。
|
· | CRecordset::useExtendedFetch | 实现SQLException来代替SQLFetch。这是设计来在只向前的记录集中实现成组行检取的。如果你在一个只向前的记录集中指定了选项CRecordset::userMultiRowFetch,则CRecordset::useExtendedFetch将被自动返回。
|
· | CRecordset::userAllocMultiRowBuffers | 用户将为数据分配存储缓存。如果你想分配自己的存储区,将此选项用与CRecordset::useMultiRowFetch连接;否则,框架将自动分配必要的存储区。注意,指定了CRecordset::userAllocMutiRowBuffers,而没有指定CRecordset::useMultiRowFetch,将导致一个失败断言。
|