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


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, которые не заданы.

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

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

Замечание

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

Кроме того TransactionConnectionCommandTimeout, OdbcCommandBuilder используется и свойства, на которые ссылается ссылка.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

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

(Унаследовано от 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значения , TransactionCommandTypeи 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)

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

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