OleDbParameter.SourceColumnNullMapping 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示源列是否可以为 null。 通过此操作,DbCommandBuilder 能够为可以为 null 的列正确地生成 Update 语句。
public:
virtual property bool SourceColumnNullMapping { bool get(); void set(bool value); };
public override bool SourceColumnNullMapping { get; set; }
member this.SourceColumnNullMapping : bool with get, set
Public Overrides Property SourceColumnNullMapping As Boolean
属性值
如果源列可以为 null,则为true
;否则为 false
。
注解
SourceColumnNullMapping 用于 DbCommandBuilder 在处理可为空列时正确生成更新命令。 通常,使用 SourceColumnNullMapping 仅限于继承自 DbCommandBuilder的开发人员。
DbCommandBuilder 使用此属性来确定源列是否可为空,并将此属性 true
设置为 (如果可为 null)和 false
(如果不是)。 生成其 Update 语句时 DbCommandBuilder ,它会检查 SourceColumnNullMapping 每个参数的 。 如果 属性为 true
, DbCommandBuilder 则在此查询表达式中生成如下 (的 WHERE 子句,“FieldName”表示) 字段的名称:
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
如果 SourceColumnNullMapping 字段为 false, DbCommandBuilder 则生成以下 WHERE 子句:
FieldName = @OriginalFieldName
此外,如果源字段包含 null, @IsNull_FieldName 则包含 1;如果不包含,则包含 0。 此机制允许优化SQL Server的性能,并提供跨多个提供程序工作的通用代码。