DbCommandBuilder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
自动生成用于协调 DataSet 的更改与关联数据库的单表命令。 这是一个只能被继承的抽象类。
public ref class DbCommandBuilder abstract : System::ComponentModel::Component
public abstract class DbCommandBuilder : System.ComponentModel.Component
type DbCommandBuilder = class
inherit Component
Public MustInherit Class DbCommandBuilder
Inherits Component
- 继承
- 派生
注解
DbCommandBuilder提供 类是为了方便提供程序编写者创建自己的命令生成器。 通过从此类继承,开发人员可以在自己的代码中实现特定于提供程序的行为。
不会 DbDataAdapter 自动生成协调对 与关联数据源所做的更改 DataSet 所需的 SQL 语句。 但是,如果设置了 SelectCommand 的 属性,则可以创建DbCommandBuilder对象来自动生成单表更新的 DbDataAdapterSQL 语句。 然后,未设置的任何其他 SQL 语句都由 DbCommandBuilder生成。
每当设置 DataAdapter 属性时, 会将DbCommandBuilder自身注册为事件的侦听器RowUpdating。 一次只能将一个 DbDataAdapter 或 DbCommandBuilder 对象相互关联。
若要生成 INSERT、UPDATE 或 DELETE 语句,请使用 DbCommandBuilderSelectCommand 属性自动检索所需的元数据集。 如果在检索元数据后更改 SelectCommand , (例如,在第一次更新) 之后,应调用 RefreshSchema 方法来更新元数据。
SelectCommand
还必须至少返回一个主键或唯一列。 如果不存在, InvalidOperationException 则会生成异常,并且不会生成命令。
DbCommandBuilder还使用 Connection引用的 SelectCommand、 CommandTimeout和 Transaction 属性。 如果修改了这些属性中的任何属性,或者替换了自身,SelectCommand则用户应调用 RefreshSchema 。 否则, InsertCommandUpdateCommand和 DeleteCommand 属性将保留其以前的值。
如果调用 Dispose, DbCommandBuilder 则会取消与 DbDataAdapter的关联,并且不再使用生成的命令。
构造函数
DbCommandBuilder() |
初始化从 DbCommandBuilder 类继承的类的新实例。 |
属性
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
CatalogLocation |
获取或设置 DbCommandBuilder 类的实例的 CatalogLocation。 |
CatalogSeparator |
获取或设置一个字符串,该字符串用作 DbCommandBuilder 类的实例的目录分隔符。 |
ConflictOption |
指定哪个 ConflictOption 将由 DbCommandBuilder 使用。 |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
DataAdapter |
获取或设置自动为其生成 Transact-SQL 语句的一个 DbDataAdapter 对象。 |
DesignMode |
获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component) |
Events |
获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
QuotePrefix |
获取或设置指定其名称包含空格或保留标记等字符的数据库对象(例如,表或列)时使用的开始字符。 |
QuoteSuffix |
获取或设置一个或多个结束字符,供指定其名称中包含空格或保留标记等字符的数据库对象(例如,表或列)时使用。 |
SchemaSeparator |
获取或设置要用作架构标识符和任何其他标识符之间的分隔符的字符。 |
SetAllValues |
指定 update 语句中是包含所有列值还是仅包含更改的列值。 |
Site | (继承自 Component) |
方法
事件
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |