AddNew 方法
创建可更新 Recordset 对象的新记录。
语法recordset.AddNew FieldList, Values
参数 FieldList 可选。新记录中字段的单个名称、一组名称或序号位置。 Values 可选。新记录中字段的单个或一组值。如果 Fields 是数组,那么 Values 也必须是有相同成员数的数组,否则将发生错误。字段名称的次序必须与每个数组中的字段值的次序相匹配。 说明使用 AddNew 方法创建和初始化新记录。通过 adAddNew 使用 Supports 方法可验证是否能够将记录添加到当前的 Recordset 对象。
在调用 AddNew 方法后,新记录将成为当前记录,并在调用 Update 方法后继续保持为当前记录。如果 Recordset 对象不支持书签,当移动到其他记录时将无法对新记录进行访问。是否需要调用 Requery 方法访问新记录则取决于所使用的游标类型。
如果在编辑当前记录或添加新记录时调用 AddNew ,ADO 将调用 Update 方法保存任何更改并创建新记录。
AddNew 方法的行为取决于 Recordset 对象的更新模式以及是否传送 Fields 和 Values 参数。
在立即更新模式(调用 Update 方法时提供者会立即将更改写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd 。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新记录传递到数据库并将 EditMode 属性重置为 adEditNone 。如果传送了 Fields 和 Values 参数,ADO 则立即将新记录传递到数据库(无须调用 Update ),且 EditMode 属性值没有改变 (adEditNone )。
在批更新模式(提供者缓存多个更改并只在调用 UpdateBatch 时将其写入基本数据源)下,调用不带参数的 AddNew
方法可将 EditMode 属性设置为 adEditAdd 。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新的记录添加到当前记录集并将 EditMode 属性重置为 adEditNone ,但在调用 UpdateBatch 方法之前提供者不将更改传递到基本数据库。如果传送 Fields 和 Values 参数,ADO 则将新记录发送给提供者以便缓存;需要调用 UpdateBatch 方法将新记录传递到基本数据库。
如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,AddNew 方法只能将字段插入到由 Unique Table 属性所命名的表中。
Append 方法
将对象追加到集合中。如果集合是 Fields,可以先创建新的 Field 对象然后再将其追加到集合中。
语法collection.Append object
fields.Append Name, Type, DefinedSize, Attrib
参数collection 集合对象。
fields Fields 集合。
object 对象变量,代表所要追加对象。
Name 字符串 ,新 Field 对象的名称,不得与 fields 中的任何其他对象同名。
Type DataTypeEnum 类型,其默认值为 adEmpty 。新字段的数据类型。
DefinedSize 可选,长整型 ,指示新字段的定义大小(以字符或字节为单位)。该参数的默认值源于 Type (默认的 Type 为 adEmpty ,默认的 DefinedSize 未指定)。
Attrib
可选,FieldAttributeEnum
,其默认值是 adFldDefault 。指定新字段的属性。如果该值未指定,字段将包含源于 Type 的属性。 参数
在集合上使用 Append 方法可将对象添加到该集合,此方法仅在 Command 对象的 Parameters 集合上有效。在将 Parameter 对象追加到 Parameters 集合中之前必须设置其 Type 属性。如果选定了变长数据类型,则必须将 Size 属性设置为大于零的值。
通过对参数作出说明,可以最大程度地减少对提供者的调用,进而在使用存储过程或参数化查询时提高性能,但必须了解与所要调用的存储过程或参数化查询相关联的参数属性。使用 CreateParameter 方法可创建具有适当属性设置的 Parameter 对象,而使用 Append 方法则可将它们添加到 Parameters 集合。这样可以不必调用参数信息的提供者而设置和返回参数值。如果写到不提供参数信息的提供者,则必须使用该方法手工填写 Parameters 集合以便能够完全使用参数。
字段如果在调用 fields.Append 方法前您没有设置 CursorLocation 属性,当使用 Open 方法打开 Recordset 时,CursorLocation 将被自动设置为 adUseClient 。
对打开的 Recordset 或已设置 ActiveConnection 属性的 Recordset ,调用其 fields.Append 方法将引发运行时错误。只能将字段追加到没有打开并且尚未连接到数据源的 Recordset 。一般地,通过 CreateRecordset 方法或通过将新 Recordset 对象显式赋给对象变量所创建的都是新 Recordset 对象。
AppendChunk 方法
将数据追加到大型文本、二进制数据 Field 或 Parameter 对象。
语法object.AppendChunk

