通过


OleDbCommandBuilder 类

定义

自动生成用于协调对 DataSet 关联数据库所做的更改的单表命令。 无法继承此类。

public ref class OleDbCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OleDbCommandBuilder sealed : System::ComponentModel::Component
public sealed class OleDbCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OleDbCommandBuilder : System.ComponentModel.Component
type OleDbCommandBuilder = class
    inherit DbCommandBuilder
type OleDbCommandBuilder = class
    inherit Component
Public NotInheritable Class OleDbCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OleDbCommandBuilder
Inherits Component
继承
继承
OleDbCommandBuilder

示例

以下示例使用数据源中的OleDbCommandOleDbDataAdapterOleDbConnection行和行。 此示例传递了已 DataSet初始化的连接字符串、连接字符串、SQL SELECT 语句的查询字符串,以及数据源表的名称字符串。 然后,该示例创建一个 OleDbCommandBuilder

public static DataSet UpdateRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        cb.GetDeleteCommand();
        //Without the OleDbCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        connection.Close();
    }
    return dataSet;
}
Public Shared Function UpdateRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the OleDbCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

注解

OleDbDataAdapter 不会自动生成协调对 DataSet 关联数据源所做的更改所需的 SQL 语句。 但是,如果设置SelectCommand单表更新的属性OleDbDataAdapter,则可以创建一个OleDbCommandBuilder对象来自动生成 SQL 语句。 然后,未设置的任何其他 SQL 语句都由该 OleDbCommandBuilder语句生成。

每当设置DataAdapter属性时,该OleDbCommandBuilder事件将自身注册为侦听器RowUpdating。 一次只能将一个 OleDbDataAdapterOleDbCommandBuilder 对象相互关联。

若要生成 INSERT、UPDATE 或 DELETE 语句,请使用OleDbCommandBuilderSelectCommand属性自动检索所需的一组元数据。 如果更改 SelectCommand 检索元数据后(例如第一次更新之后),则应调用 RefreshSchema 方法来更新元数据。

它还使用由 /&a0> 引用的属性和属性。 如果用户修改了其中一个或多个属性,或者自行替换,SelectCommand则用户应调用RefreshSchema。 否则 InsertCommandUpdateCommandDeleteCommand 属性将保留其以前的值。

如果调用 Dispose,则会 OleDbCommandBuilder 取消 OleDbDataAdapter关联生成的命令,并且不再使用生成的命令。

构造函数

名称 说明
OleDbCommandBuilder()

初始化 OleDbCommandBuilder 类的新实例。

OleDbCommandBuilder(OleDbDataAdapter)

使用关联的OleDbDataAdapter对象初始化类的新实例OleDbCommandBuilder

属性

名称 说明
CanRaiseEvents

获取一个值,该值指示组件是否可以引发事件。

(继承自 Component)
CatalogLocation

获取或设置 CatalogLocation 类的 DbCommandBuilder 实例。

(继承自 DbCommandBuilder)
CatalogSeparator

获取或设置用作类实例的目录分隔符的 DbCommandBuilder 字符串。

(继承自 DbCommandBuilder)
ConflictOption

指定要由 DbCommandBuilder.ConflictOption.

(继承自 DbCommandBuilder)
Container

IContainer获取包含 .Component

(继承自 Component)
DataAdapter

获取或设置 OleDbDataAdapter 自动生成 SQL 语句的对象。

DesignMode

获取一个值,该值指示当前是否 Component 处于设计模式。

(继承自 Component)
Events

获取附加到此 Component对象的事件处理程序的列表。

(继承自 Component)
QuotePrefix

获取或设置指定数据库对象(例如表或列)时要使用的起始字符或字符,其名称包含空格或保留标记等字符。

QuotePrefix

获取或设置指定数据库对象(例如表或列)时要使用的起始字符或字符,其名称包含空格或保留标记等字符。

(继承自 DbCommandBuilder)
QuoteSuffix

获取或设置指定数据库对象(例如表或列)时要使用的结束字符或字符,其名称包含空格或保留标记等字符。

QuoteSuffix

获取或设置指定数据库对象(例如表或列)时要使用的结束字符或字符,其名称包含空格或保留标记等字符。

(继承自 DbCommandBuilder)
SchemaSeparator

获取或设置要用于架构标识符和任何其他标识符之间的分隔符的字符。

(继承自 DbCommandBuilder)
SetAllValues

指定是包含更新语句中的所有列值还是仅包含已更改的列值。

(继承自 DbCommandBuilder)
Site

获取或设置 ISite .Component

(继承自 Component)

方法

名称 说明
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

允许类的 DbCommandBuilder 提供程序实现处理其他参数属性。

(继承自 DbCommandBuilder)
CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
DeriveParameters(OleDbCommand)

从指定的 OleDbCommand 存储过程检索参数信息,并填充 Parameters 指定 OleDbCommand 对象的集合。

Dispose()

释放该 Component命令使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放由托管资源使用 DbCommandBuilder 的非托管资源,并选择性地释放托管资源。

(继承自 DbCommandBuilder)
Dispose(Boolean)

释放由托管资源使用 Component 的非托管资源,并选择性地释放托管资源。

(继承自 Component)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetDeleteCommand()

获取在数据源中执行删除所需的自动生成 OleDbCommand 的对象。

GetDeleteCommand(Boolean)

获取在数据源中执行删除所需的自动生成 OleDbCommand 的对象。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetInsertCommand()

获取在数据源中执行插入所需的自动生成 OleDbCommand 的对象。

GetInsertCommand(Boolean)

获取在数据源中执行插入所需的自动生成 OleDbCommand 的对象。

GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetParameterName(Int32)

以 . 格式 @p#返回指定参数的名称。 生成自定义命令生成器时使用。

(继承自 DbCommandBuilder)
GetParameterName(String)

返回给定部分参数名称的完整参数名称。

(继承自 DbCommandBuilder)
GetParameterPlaceholder(Int32)

返回关联 SQL 语句中参数的占位符。

(继承自 DbCommandBuilder)
GetSchemaTable(DbCommand)

返回 .的 DbCommandBuilder架构表。

(继承自 DbCommandBuilder)
GetService(Type)

返回一个对象,该对象表示服务由 Component 或其 Container提供的服务。

(继承自 Component)
GetType()

获取当前实例的 Type

(继承自 Object)
GetUpdateCommand()

获取在数据源中执行更新所需的自动生成 OleDbCommand 的对象。

GetUpdateCommand(Boolean)

获取在数据源中执行更新所需的自动生成 OleDbCommand 的对象,可以选择对参数名称使用列。

InitializeCommand(DbCommand)

CommandTimeout重置该DbCommand属性的 、Transaction属性CommandTypeUpdateRowSource属性。

(继承自 DbCommandBuilder)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
QuoteIdentifier(String, OleDbConnection)

给定正确目录大小写中的无引号标识符,则返回该标识符的正确引号形式。 这包括正确转义标识符中的任何嵌入引号。

QuoteIdentifier(String)

给定正确目录大小写中的无引号标识符,则返回该标识符的正确引号形式。 这包括正确转义标识符中的任何嵌入引号。

RefreshSchema()

清除与此 OleDbCommandBuilder关联的命令。

RefreshSchema()

清除与此 DbCommandBuilder关联的命令。

(继承自 DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

RowUpdating 事件添加事件处理程序。

(继承自 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder注册用于处理RowUpdating事件DbDataAdapter的事件。

(继承自 DbCommandBuilder)
ToString()

返回包含 String 的名称 Component(如果有)。 不应重写此方法。

(继承自 Component)
UnquoteIdentifier(String, OleDbConnection)

给定带引号的标识符,返回该标识符的正确未引号形式。 这包括正确取消转义标识符中的任何嵌入引号。

UnquoteIdentifier(String)

给定带引号的标识符,返回该标识符的正确未引号形式。 这包括正确取消转义标识符中的任何嵌入引号。

活动

名称 说明
Disposed

当组件通过对方法的调用 Dispose() 释放时发生。

(继承自 Component)

适用于

另请参阅