Поделиться через


OdbcCommandBuilder Класс

Определение

Автоматически генерирует однотабличные команды, которые позволяют согласовать изменения, вносимые в объект DataSet, со связанным источником данных. Этот класс не наследуется.

public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OdbcCommandBuilder sealed : System::ComponentModel::Component
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OdbcCommandBuilder : System.ComponentModel.Component
type OdbcCommandBuilder = class
    inherit DbCommandBuilder
type OdbcCommandBuilder = class
    inherit Component
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits Component
Наследование
Наследование
OdbcCommandBuilder

Примеры

В следующем примере для выбора строк из источника данных используются OdbcCommandвместе с OdbcDataAdapter и OdbcConnection. В этом примере передается инициализированный DataSetобъект , строка подключения, строка запроса, которая является инструкцией SQL SELECT, и строка, которая является именем таблицы источника данных. Затем в примере создается объект OdbcCommandBuilder.

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

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

    Return dataSet
End Function

Комментарии

не OdbcDataAdapter создает автоматически инструкции SQL, необходимые для согласования изменений, внесенных в объект , связанный DataSet с источником данных. Однако можно создать OdbcCommandBuilder объект , который создает инструкции SQL для обновлений из одной таблицы, задав SelectCommand свойство OdbcDataAdapterобъекта . Затем OdbcCommandBuilder создает все дополнительные инструкции SQL, которые не заданы.

Отношение между OdbcDataAdapter и соответствующим ему OdbcCommandBuilder всегда одно к одному. Чтобы создать это соответствие, необходимо задать OdbcDataAdapter свойство OdbcCommandBuilder объекта . Это приводит OdbcCommandBuilder к регистрации в качестве прослушивателя, который создает выходные данные событий, влияющих RowUpdating на DataSet.

Для создания инструкций OdbcCommandBuilder INSERT, UPDATE или DELETE использует SelectCommand свойство для получения требуемого набора метаданных. Если изменить значение SelectCommand после получения метаданных, например после первого обновления, необходимо вызвать RefreshSchema метод для обновления метаданных.

Примечание

Если инструкция SELECT, назначенная свойству SelectCommand , использует имена столбцов с псевдонимами, результирующая инструкция INSERT, UPDATE и DELETE может быть неточной или завершиться ошибкой. Если базовый драйвер ODBC не может предоставить соответствующее имя базового столбца для имени столбца псевдонима (используя значение SQL_DESC_BASE_COLUMN_NAME ), имя псевдонима SQLColAttributeможно использовать в созданных инструкциях INSERT, UPDATE и DELETE. Например, Microsoft ODBC Driver for Oracle возвращает имя псевдонима в качестве имени базового столбца. Таким образом, созданные инструкции INSERT, UPDATE и DELETE могут привести к ошибкам.

также OdbcCommandBuilder использует Connectionсвойства , и Transaction , CommandTimeoutна которые ссылается SelectCommand. Пользователь должен вызвать , RefreshSchema если одно или несколько из этих свойств были изменены, или если изменяется значение SelectCommand самого свойства. InsertCommandВ противном случае свойства , UpdateCommandи DeleteCommand сохраняют свои предыдущие значения.

При вызове DisposeOdbcCommandBuilder метод отсоединяется от OdbcDataAdapter, а созданные команды больше не используются.

Конструкторы

OdbcCommandBuilder()

Инициализирует новый экземпляр класса OdbcCommandBuilder.

OdbcCommandBuilder(OdbcDataAdapter)

Инициализирует новый экземпляр класса OdbcCommandBuilder вместе со связанным объектом OdbcDataAdapter.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
CatalogLocation

Возвращает или задает CatalogLocation для экземпляра класса DbCommandBuilder.

(Унаследовано от DbCommandBuilder)
CatalogSeparator

Возвращает или задает строку, которую можно использовать в качестве разделителя каталогов для экземпляра класса DbCommandBuilder.

(Унаследовано от DbCommandBuilder)
ConflictOption

Указывает, какое значение типа ConflictOption должно использоваться объектом DbCommandBuilder.

(Унаследовано от DbCommandBuilder)
Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
DataAdapter

Возвращает или задает объект OdbcDataAdapter, для которого данный объект OdbcCommandBuilder будет генерировать операторы SQL.

DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
QuotePrefix

Возвращает или задает начальный символ или символы, используемые для работы с объектами базы данных (например, таблиц или столбцов), имена которых содержат такие символы, как пробелы или зарезервированные токены.

QuotePrefix

Возвращает или задает начальный символ или символы, используемые для указания объектов базы данных (например, таблиц или столбцов), имена которых содержат такие символы, как пробелы или зарезервированные токены.

(Унаследовано от DbCommandBuilder)
QuoteSuffix

Возвращает или задает конечный символ или символы, используемые для работы с объектами базы данных (например, таблиц или столбцов), имена которых содержат такие символы, как пробелы или зарезервированные токены.

QuoteSuffix

Получает или задает конечный символ или символы, используемые для указания объектов базы данных (например, таблиц или столбцов), имена которых содержат такие символы, как пробелы или зарезервированные токены.

(Унаследовано от DbCommandBuilder)
SchemaSeparator

Возвращает или задает символ, который используется в качестве разделителя между идентификатором схемы и остальными идентификаторами.

(Унаследовано от DbCommandBuilder)
SetAllValues

Указывает, включены все значения столбца в инструкции UPDATE или только измененные значения.

(Унаследовано от DbCommandBuilder)
Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)

Методы

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Разрешает реализации поставщика класса DbCommandBuilder обрабатывать дополнительные свойства параметров.

(Унаследовано от DbCommandBuilder)
CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
DeriveParameters(OdbcCommand)

Извлекает сведения о параметрах из хранимой процедуры, указанной в объекте OdbcCommand, и включает их в коллекцию параметров Parameters указанного объекта OdbcCommand.

Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом DbCommandBuilder, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от DbCommandBuilder)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetDeleteCommand()

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций удаления в источнике данных.

GetDeleteCommand(Boolean)

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций удаления в источнике данных.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetInsertCommand()

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций вставки в источнике данных.

GetInsertCommand(Boolean)

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций вставки в источнике данных.

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()

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций обновления в источнике данных.

GetUpdateCommand(Boolean)

Возвращает автоматически созданный объект OdbcCommand, который требуется для выполнения операций обновления в источнике данных.

InitializeCommand(DbCommand)

Сбрасывает свойства CommandTimeout, Transaction, CommandType и UpdateRowSource в объекте DbCommand.

(Унаследовано от DbCommandBuilder)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
QuoteIdentifier(String, OdbcConnection)

При заданном идентификаторе без кавычек в каталоге, набранном в правильном регистре, возвращает заключенный в кавычки идентификатор в корректной форме. При этом корректно исключаются встроенные в идентификатор кавычки.

QuoteIdentifier(String)

При заданном идентификаторе без кавычек в каталоге, набранном в правильном регистре, возвращает заключенный в кавычки идентификатор в корректной форме. При этом корректно исключаются встроенные в идентификатор кавычки.

RefreshSchema()

Очищает команды, связанные с этим объектом OdbcCommandBuilder.

RefreshSchema()

Очищает команды, связанные с этим объектом DbCommandBuilder.

(Унаследовано от DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Добавляет обработчик событий для события RowUpdating.

(Унаследовано от DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Регистрирует объект DbCommandBuilder, чтобы обработать событие RowUpdating для объекта DbDataAdapter.

(Унаследовано от DbCommandBuilder)
ToString()

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

(Унаследовано от Component)
UnquoteIdentifier(String, OdbcConnection)

Если идентификатор заключен в кавычки, возвращает правильную форму этого идентификатора без кавычек, при этом корректно учитываются кавычки, внедренные в идентификатор.

UnquoteIdentifier(String)

Если идентификатор заключен в кавычки, возвращает правильную форму этого идентификатора без кавычек, при этом корректно учитываются кавычки, внедренные в идентификатор.

События

Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)

Применяется к

См. также раздел