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
- Наследование
- Наследование
Примеры
В следующем примере используются 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) |
Возвращает имя указанного параметра в формате |
| 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) |