Добро пожаловать на мой блог

The world is yours

ado.net

автор: admin | Октябрь 14, 2010 | Раздел: Программирование

ActiveXDataObjects – интерфейс программирования приложений для доступа к данным.

ADO.NET – Это набор классов реализующих программные интерфейсы для подключения к базам данных, независимо от особенностей реализации конкретной СУБД. Независим от месторасположения базы данных.

System.Data.dll

Режимы:

  1. Подключенный режим.
  2. Автоматический режим.

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

Автономный режим – (Disconnected Layer) – производится работа с объектами dataTable представляющие на стороне клиента копию данных из базы.

Провайдеры данных – обеспечивают доступ к источникам данных. Представляют собой набор классов специализированных для взаимодействия с конкретным источником данных.

.NET Framework Поставщик данных для SQL Server

Предоставляет доступ к данным для Microsoft SQL Server 7.0 или более поздних версий.Использует пространство имен System.Data.SqlClient.

.NET Framework Поставщик данных для OLE DB

Для источников данных OLE DB.Использует пространство имен System.Data.OleDb.

.NET Framework Поставщик данных для ODBC

Для источников данных ODBC.Использует пространство имен System.Data.Odbc.

.NET Framework Поставщик данных для Oracle

Для источников данных Oracle.Источник данных .NET Framework для Oracle поддерживает клиентское программное обеспечение версии 8.1.7 и старше и использует пространство имен System.Data.OracleClient.

Поставщик EntityClient

Предоставляет доступ к данным для приложений модели EDM (Entity Data Model).Использует пространство имен System.Data.EntityClient.

Connection

Устанавливает соединение с конкретным источником данных.Базовым классом для всех объектов Connection является DbConnection.

Command

Выполняет команду в источнике данных.Обеспечивает доступность Parameters и может выполнять команды в области Transaction из Connection.Базовым классом для всех объектов Command является DbCommand.

DataReader

Считывает из источника данных однопроходный поток данных только для чтения.Базовым классом для всех объектов DataReader является DbDataReader.

DataAdapter

Заполняет DataSet и выполняет обновления в источнике данных.Базовым классом для всех объектов DataAdapter является DbDataAdapter.

Transaction

Прикрепляет команды к транзакциям в источнике данных.Базовым классом для всех объектов Transaction является DbTransaction.ADO.NET также поддерживает транзакции, использующие классы в пространстве имен System.Transactions.

CommandBuilder

Объект помощника, автоматически формирующий свойства команд DataAdapter или извлекающий сведения о параметрах из хранимой процедуры и заполняющий коллекцию Parameters объекта Command.Базовым классом для всех объектов CommandBuilder является DbCommandBuilder.

ConnectionStringBuilder

Объект помощника, обеспечивающий простой способ создания и управления содержимым строки соединения, которую используют объекты Connection.Базовым классом для всех объектов ConnectionStringBuilder является DbConnectionStringBuilder.

Parameter

Определяет входные, выходные и возвращаемые значения параметров для команд и хранимых процедур.Базовым классом для всех объектов Parameter является DbParameter.

Exception

Возвращается при возникновении ошибки в источнике данных.Для ошибок клиентов поставщики данных .NET Framework вызывают исключение .NET Framework.Базовым классом для всех объектов Exception является DbException.

Error

Отображает сведения, относящиеся к предупреждениям и ошибкам, возвращенным источником данных.

ClientPermission

Атрибуты управления доступом, поставляемые с кодом поставщика данных .NET Framework.Базовым классом для всех объектов ClientPermission является DBDataPermission.

Microsoft.SqlServer.Server ‘ Содержит типы для работы службы интеграции CLR и SQL

Server 2005.

System.Data

Определяет основные типы ADO.NET, используемые всеми

поставщиками данных, в том числе общие интерфейсы и

разнообразные типы, представляющие автономный уровень

(DataSet, DataTable и т.д.).

System. Data.Common

Содержит типы для общего использования всеми

поставщиками ADO.NET, в том числе и общие абстрактные базовые классы.

System.Data.Sql

Содержит типы, позволяющие обнаружить экземпляры Microsoft

SQL Server, которые установлены в текущей локальной сети.

System. Data.SqlTypes

Содержит типы данных, используемые Microsoft SQL Server.

Можно применять и соответствующие типы CLR, но

пространство SqlTypes оптимизировано для работы с SQL Server.

Классы

Класс       Описание

Constraint               Представляет ограничение, которое может быть применено к одному или более объектам DataColumn.

ConstraintCollection               Представляет коллекцию ограничений для DataTable.

ConstraintException               Представляет исключение, которое вызывается при попытке действия, нарушающего ограничения.

DataColumn            Представляет схему столбца в таблице DataTable.

DataColumnChangeEventArgs                Предоставляет данные для события ColumnChanging.

DataColumnCollection            Представляет коллекцию объектов DataColumn для DataTable.

DataException        Представляет исключение, которое выдается при создании ошибок с помощью компонента ADO.NET.

DataRelation           Представляет отношение “родительский/дочерний объект” между двумя объектами DataTable.

DataRelationCollection           Представляет коллекцию объектов DataRelation для DataSet.

DataRow  Представляет строку данных в DataTable.

DataRowBuilder       Инфраструктура. Тип DataRowBuilder поддерживает инфраструктуру.NET Framework и не предназначен для использования непосредственно из кода.

DataRowChangeEventArgs     Предоставляет данные для событий RowChanged, RowChanging, OnRowDeleting и OnRowDeleted.

DataRowCollection Представляет коллекцию строк для объекта DataTable.

DataRowComparer  Возвращает одноэлементный экземпляр класса DataRowComparer<TRow>.

DataRowComparer<TRow>    Сравнивает два объекта DataRow на эквивалентность путем использования сравнения на основе значений.

DataRowExtensions                Определяет методы расширения для класса DataRow.Этот класс является статическим.

DataRowView          Представляет настраиваемое представление DataRow.

DataSet    Представляет расположенный в памяти кэш данных.

DataSetSchemaImporterExtension         Этот элемент поддерживает инфраструктуру .NET Framework и не предназначен для непосредственного использования из программы пользователя.

DataSysDescriptionAttribute   Устаревшее. Помечает свойство, событие или расширитель с описанием.Это описание может быть отображено визуальным конструктором при обновлении элемента.

DataTable               Представляет одну таблицу с данными в памяти.

DataTableClearEventArgs       Предоставляет данные для метода Clear.

DataTableCollection               Представляет коллекцию таблиц для DataSet.

DataTableExtensions              Определяет методы расширения для класса DataTable.DataTableExtensions является статическим классом.

DataTableNewRowEventArgs Предоставляет данные для метода NewRow.

DataTableReader     Объект DataTableReader получает содержимое одного или нескольких объектов DataTable в форме или один из результирующих наборов, предназначенных только для чтения и позволяющих перемещение только вперед.

DataView Представляет настраиваемое и допускающее привязку данных представление объекта DataTable для сортировки, фильтрации, поиска, изменения и навигации.

DataViewManager   Содержит коллекцию по умолчанию DataViewSettingCollection для каждого объекта DataTable в DataSet.

DataViewSetting      Представляет параметры по умолчанию для свойств ApplyDefaultSort, DataViewManager, RowFilter, RowStateFilter, Sort и Table для объекта DataView, созданного из DataViewManager.

DataViewSettingCollection      Содержит доступную только для чтения коллекцию объектов DataViewSetting для каждого объекта DataTable в DataSet.

DBConcurrencyException      Исключение, которое вызывается DataAdapter при операции вставки, обновления или удаления не затронувшей ни одной строки.

DeletedRowInaccessibleException          Представляет исключение, которое выдается при попытке выполнить действие с удаленным объектом DataRow.

DuplicateNameException       Представляет исключение, которое выдается, если при добавлении строк в объект, относящийся к DataSet, нарушается уникальность имен объектов базы данных.

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

EntityCommandExecutionException     Представляет ошибки, возникающие, когда поставщик базового хранилища не может выполнить заданную команду.Это исключение, как правило, зависит от поставщика.

EntityException     Представляет связанные с платформой Entity Framework ошибки, возникающие в пространстве имен EntityClient.EntityException является базовым классом для всех исключений Entity Framework, которые были вызваны EntityClient.

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

EntityKeyMember  Представляет пару “имя ключа-значение”, которая является частью ключа EntityKey.

EntitySqlException Представляет ошибки, возникающие при синтаксическом разборе текста команды на языке Entity SQL.Это исключение возникает при нарушении синтаксических или семантических правил.

EnumerableRowCollection      Представляет коллекцию объектов DataRow, возвращаемых из запроса LINQ to DataSet. Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.

EnumerableRowCollection<TRow>         Представляет коллекцию объектов DataRow, возвращаемых из запроса.Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.

EnumerableRowCollectionExtensions     Содержит методы расширений для классов коллекции строк данных.Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.

EvaluateException  Представляет исключение, которое выдается, когда невозможно найти значение свойства Expression класса DataColumn.

FillErrorEventArgs  Предоставляет данные для события FillError объекта DbDataAdapter.

ForeignKeyConstraint             Представляет ограничение, установленное для набора столбцов в отношении “первичный ключ/внешний ключ”, на действия, выполняемые при удалении или обновлении значения или строки.

InRowChangingEventException             Представляет исключение, которое выдается при вызове метода EndEdit в событии RowChanging.

InternalDataCollectionBase    Предоставляет основную функциональность для создания коллекций.

InvalidCommandTreeException             Исключение, указывающее на недопустимость дерева команд.В настоящее время это исключение не произошло в Entity Framework.

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

InvalidExpressionException   Представляет собой исключение, возникающее при попытке добавления столбца DataColumn, содержащего недопустимое выражение Expression, к коллекции DataColumnCollection.

MappingException  Исключение, генерируемое в случае сбоя при сопоставлении со связанной службой.

MergeFailedEventArgs            Происходит, если целевой и исходный объекты DataRow имеют одинаковое значение первичного ключа и если свойство EnforceConstraints имеет значение true.

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

MissingPrimaryKeyException                Представляет собой исключение, выдаваемое при попытке доступа к строке таблицы, не имеющей первичного ключа.

NoNullAllowedException        Представляет исключение, выдаваемое при попытке вставки значения null в столбец, где для свойства AllowDBNull задано значение false.

ObjectNotFoundException      Исключение, создаваемое в случае отсутствия объекта.

OperationAbortedException   Это исключение вызывается при прерывании текущей операции пользователем.

OptimisticConcurrencyException           Исключение, создаваемое, если произошло нарушение оптимистической блокировки.

OrderedEnumerableRowCollection<TRow>            Данный API разработан для поддержки инфраструктуры .NET Framework и не предназначен для использования непосредственно из кода.Представляет коллекцию заказанных объектов DataRow, возвращаемых из запроса.

PropertyCollection Представляет коллекцию свойств, которые можно добавить в объекты DataColumn, DataSet или DataTable.

ProviderIncompatibleException             Исключение, генерируемое, когда используемый поставщик данных несовместим с Entity Framework.

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

RowNotInTableException      Представляет исключение, которое выдается при попытке выполнить действие с объектом DataRow, который не содержится в объекте DataTable.

StateChangeEventArgs            Предоставляет данные для события изменения состояния поставщика данных .NET Framework.

StatementCompletedEventArgs              Предоставляет дополнительные сведения для события StatementCompleted.

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

SyntaxErrorException            Предоставляет исключение, возникающее, когда свойство Expression объекта DataColumn содержит синтаксическую ошибку.

TypedDataSetGenerator          Устаревшее. Используется для создания строго типизированного объекта DataSet.

TypedDataSetGeneratorException         Это исключение создается в случае конфликта имен при создании объекта DataSet со строгой типизацией.

TypedTableBase<T>               Этот тип используется в качестве основного класса для создания типизированных объектов DataTable с помощью Visual Studio и средства XSD.exe .NET Framework. Этот тип нельзя использовать в коде напрямую.

TypedTableBaseExtensions    Содержит методы расширения для класса TypedTableBase<T>.

UniqueConstraint    Предоставляет ограничение на набор столбцов, в которых все значения должны быть уникальными.

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

VersionNotFoundException    Предоставляет исключение, возникающее при попытке возврата версии объекта DataRow, который был удален.

Интерфейсы

Интерфейс              Описание

IColumnMapping    Связывает столбец источника данных со столбцом объекта DataSet. Этот интерфейс реализуется классом DataColumnMapping, который совместно используется поставщиками данных .NET Framework.

IColumnMappingCollection    Содержит коллекцию объектов DataColumnMapping. Этот интерфейс реализуется классом DataColumnMappingCollection, который совместно используется поставщиками данных .NET Framework.

IDataAdapter          Позволяет объекту реализовать DataAdapter и представляет набор методов и соответствующие свойства, связанные с операциями, для заполнения и обновления объекта DataSet и обновления источника данных.

IDataParameter       Представляет параметр для объекта Command, а также дополнительно — его сопоставление со столбцами DataSet. Реализуется поставщиками данных .NET Framework, которые осуществляют доступ к источникам данных.

IDataParameterCollection      Собирает все параметры, относящиеся к объекту Command, а также их сопоставления со столбцами объекта DataSet. Реализуется поставщиками данных .NET Framework, осуществляющими доступ к источникам данных.

IDataReader            Позволяет читать один или несколько потоков результирующих наборов только в направлении вперед, выполняя команду над источником данных. Он реализуется поставщиками данных .NET Framework, обращающимися к реляционным базам данных.

IDataRecord            Предоставляет доступ к значениям столбцов в каждой строке для средства чтения DataReader, и реализуется поставщиками данных .NET Framework, которые имеют доступ к реляционным базам данных.

IDbCommand          Представляет собой оператор SQL, исполняемый при подключении к источнику данных и реализуемый поставщиками данных .NET Framework, которые имеют доступ к реляционным базам данных.

IDbConnection        Представляет собой открытое подключение к источнику данных и реализуется поставщиками данных .NET Framework, которые имеют доступ к реляционным базам данных.

IDbDataAdapter      Представляет набор связанных с командой свойств, которые используются для заполнения DataSet и обновления источника данных, реализуемый поставщиками данных .NET Framework, осуществляющими доступ к реляционным базам данных.

IDbDataParameter  Используется в конструкторах данных Visual Basic .NET для представления параметра в объекте Command, а также дополнительно для его сопоставления со столбцами DataSet.

IDbTransaction       Представляет собой транзакцию, выполняемую в источнике данных и реализуемую поставщиками данных .NET Framework, осуществляющими доступ к реляционным базам данных.

IExtendedDataRecord             Предоставляет доступ к значениям столбцов внутри каждой строки DbDataRecord для объекта DbDataReader.

ITableMapping        Связывает исходную таблицу с таблицей в DataSet и реализуется классом DataTableMapping, который обычно используется поставщиками данных .NET Framework.

ITableMappingCollection       Содержит коллекцию объектов TableMapping и реализуется коллекцией DataTableMappingCollection, которая обычно используется поставщиками данных .NET Framework.

Делегаты

Делегат   Описание

DataColumnChangeEventHandler           Представляет метод обработки события ColumnChanging.

DataRowChangeEventHandler                Представляет метод, который будет обрабатывать события RowChanging, RowChanged, RowDeleting и RowDeleted объекта DataTable.

DataTableClearEventHandler  Представляет метод, обрабатывающий метод Clear.

DataTableNewRowEventHandler            Представляет метод, обрабатывающий метод NewRow.

FillErrorEventHandler            Представляет метод обработки события FillError.

MergeFailedEventHandler       Представляет метод обработки события MergeFailed.

StateChangeEventHandler       Представляет метод обработки события StateChange.

StatementCompletedEventHandler         Тип делегата для обработчиков событий, относящихся к событию StatementCompleted.

Перечисления

Перечисление         Описание

AcceptRejectRule    Определяет действие, выполняемое, когда метод AcceptChanges или RejectChanges вызывается в объекте таблицу DataTable с объектом ForeignKeyConstraint.

CommandBehavior  Содержит описание результатов запроса и его воздействия на базу данных.

CommandType       Определяет, как интерпретируется командная строка.

ConflictOption        Определяет, каким образом конфликтующие изменения в источнике данных будут выявляться и разрешаться.

ConnectionState      Описывает текущее состояние подключения к источнику данных.

DataRowAction       Описывает действие, выполняемое с объектом DataRow.

DataRowState          Получает состояние объекта DataRow.

DataRowVersion      Описывает версию объекта DataRow.

DataSetDateTime    Описывает формат сериализации для столбцов DateTime в объекте DataSet.

DataViewRowState  Описывает версию данных в объекте DataRow.

DbType   Указывает тип данных поля, свойства или объекта Parameter поставщика данных .NET Framework.

EntityState              Состояние объекта сущности.

IsolationLevel         Задает поведение при блокировке транзакции для подключения.

KeyRestrictionBehavior          Определяет список параметров строки подключения, определяемых свойством KeyRestrictions, которые могут быть разрешены или запрещены.

LoadOption             Управляет применением значений из источника данных в существующих строках при использовании метода Load или Load.

MappingType         Указывает на порядок сопоставления DataColumn.

MissingMappingAction           Определяет действие, которое выполняется при отсутствии сопоставления в исходной таблице или исходном столбце.

MissingSchemaAction             Определяет действие, выполняемое при добавлении данных к DataSet, если необходимые объекты DataTable или DataColumn отсутствуют.

ParameterDirection Указывает тип параметра в запросе к объекту DataSet.

PropertyAttributes  Устаревшее. Указывает атрибуты свойства.

Rule         Указывает действие, которое должно быть выполнено, когда принудительно вводится ограничение ForeignKeyConstraint.

SchemaSerializationMode        Указывает режим схемы сериализации для типизированного объекта DataSet.

SchemaType           Указывает, как будут обрабатываться существующие сопоставления схемы при выполнении операции FillSchema.

SerializationFormat Определяет формат сериализации для объекта DataSet.

SqlDbType              Указывает относящийся к SQL Server тип данных поля или свойства для использования в SqlParameter.

StatementType       Задает тип SQL запроса для использования в классах OleDbRowUpdatedEventArgs, OleDbRowUpdatingEventArgs, SqlRowUpdatedEventArgs или SqlRowUpdatingEventArgs.

UpdateRowSource    Задает способ применения к обновляемой строке результатов команды запроса.

UpdateStatus           Указывает действия, предпринимаемые в отношении текущей строки и остальных строк во время выполнения метода Update.

XmlReadMode         Указывает, как считывать XML-данные и реляционную схему в объект DataSet.

XmlWriteMode       Указывает, как записывать XML-данные и реляционную схему из объекта DataSet.

Подключаемый уровень ADO.NET :

1.Создать настроить и открыть объект подключения.

2.Создать и настроить объекты команд( Указать объект подключения в конструкторе или через свойства).

3.Вызвать команду.

4.Обработать каждую запись объекта чтения данных.

Шаг первый вариант первый:

1.Установить сеанс с источником данных с помощью объекта подключения.Для sql сервера это класс sqlConnection.

У объектного подключения имеется форматируемая строка подключения : Имя машины, параметры безопасности, имя базы данных, и тд (Connection string).

//static protected void ShowInfo(SqlConnection s)

//{

//    Console.WriteLine(“{0},{1},{2}”, s.Database, s.ConnectionString, s.State);

//}

//SqlConnection Connect = new SqlConnection();

//            Connect.ConnectionString = @”Data Source=(local);Integrated Security=SSPI;

//Initial Catalog=library”;

//            Connect.Open();

//            ShowInfo(Connect);

Первый шаг вариант два:

SqlConnectionStringBuilder ssb = new SqlConnectionStringBuilder();

ssb.InitialCatalog = “Library”;

ssb.IntegratedSecurity = true;

ssb.DataSource = “local”;

SqlConnection sc = new SqlConnection();

sc.ConnectionString = ssb.ConnectionString;

sc.Open();

ШАГ 2 :

Создать объектно-ориентированное представление SQL таблицы имени таблицы или хранимой процедуры.

Используется тип SQLCommand наследуется от DBCommand:

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

Имя         Описание

DbCommand           Создает экземпляр объекта DbCommand.

В начало страницы

Методы

Имя         Описание

Cancel     Пытается отменить выполнение объекта DbCommand.

CreateDbParameter Создает новый экземпляр объекта DbParameter.

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

CreateParameter     Создает новый экземпляр объекта DbParameter.

Dispose    Перегружен.

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

ExecuteDbDataReader             Выполняет текст команды применительно к подключению.

ExecuteNonQuery   Выполняет оператор SQL применительно к объекту подключения.

ExecuteReader         Перегружен. Выполняет свойство CommandText применительно к свойству Connection и возвращает объект DbDataReader.

ExecuteScalar          Выполняет запрос и возвращает первый столбец первой строки результирующего набора, возвращаемого запросом. Все другие столбцы и строки игнорируются.

Finalize    Освобождает неуправляемые ресурсы и выполняет другие операции очистки перед тем, как объект Component будет освобожден при сборке мусора. (Унаследовано от Component.)

GetHashCode           Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)

GetLifetimeService  Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

GetService               Возвращает объект, представляющий службу, обеспечиваемую компонентом Component или его контейнером Container. (Унаследовано от Component.)

GetType  Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)

InitializeLifetimeService         Возвращает объект обслужива��ия во время существования для управления политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

MemberwiseClone   Перегружен.

Prepare    Создает подготовленную (или скомпилированную) версию команды для источника данных.

ToString  Перегружен.

В начало страницы

Свойства

Имя         Описание

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

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

CommandTimeout  Возвращает или задает время ожидания перед завершением попытки выполнить команду и созданием ошибки.

CommandType       Указывает или определяет способ интерпретации свойства CommandText.

Connection             Возвращает или задает объект DbConnection, используемый этим объектом DbCommand.

Container                Возвращает контейнер IContainer, содержащий компонент Component. (Унаследовано от Component.)

DbConnection         Возвращает или задает объект DbConnection, используемый этим объектом DbCommand.

DbParameterCollection           Получает коллекцию объектов DbParameter.

DbTransaction        Возвращает или задает свойство DbTransaction внутри которого выполняется этот объект DbCommand.

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

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

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

Parameters              Получает коллекцию объектов DbParameter.

Site          Получает или задает экземпляр ISite для компонента Component. (Унаследовано от Component.)

Transaction             Возвращает или задает свойство DbTransaction внутри которого выполняется этот объект DbCommand.

UpdatedRowSource  Возвращает или задает способ применения результатов команды к объекту DataRow, если он используется методом Update объекта DbDataAdapter.

В начало страницы

События

Имя         Описание

Disposed  Происходит при удалении компонента вызовом метода Dispose. (Унаследовано от Component.)

В начало страницы

Явные реализации интерфейса

Имя         Описание

IDbCommand.Connection

IDbCommand.CreateParameter

ExecuteReader         Перегружен. Описание этого члена см. в описании метода IDbCommand.ExecuteReader.

IDbCommand.Parameters

IDbCommand.Transaction

SqlConnection Connect = new SqlConnection();

string s= “Select * from books”;

SqlCommand ssc = new SqlCommand(s, Connect);

http://www.rsdn.ru/article/db/guide_firebird2_adonet3.xml

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

/*SqlConnection Con = new SqlConnection();

Con.ConnectionString = @”Data Source = (local); Integrated Security = SSPI; Initial Catalog = Library”;

Con.Open();

ShowInfo(Con);*/

// 1й вариант

// 2ой вариант

SqlConnectionStringBuilder SSB = new SqlConnectionStringBuilder();

SSB.InitialCatalog = “library”;

SSB.DataSource = “(local)”;

SSB.IntegratedSecurity = true;

SqlConnection Con = new SqlConnection();

Con.ConnectionString = SSB.ConnectionString;

Con.Open();

ShowInfo(Con);

//Step 2

string q = “Select * From Books”;

SqlCommand SCom = new SqlCommand(q, Con);

SqlCommand SC2 = new SqlCommand();

SC2.Connection = Con;

SC2.CommandText = “Select * From Authors”;

//Step 3

SqlDataReader SDR, SDR2,SDR3;

SDR = SC2.ExecuteReader(CommandBehavior.Default);

while (SDR.Read())

{

Console.WriteLine(“ID – {0}t Name – {1}”, SDR["id"].ToString(), SDR["FirstName"].ToString());

}

SDR.Close();

SDR2 = SCom.ExecuteReader(CommandBehavior.Default);

while (SDR2.Read())

{

Console.WriteLine(“ID – {0}t Name – {1}”, SDR2["id"].ToString(), SDR2["Name"].ToString());

}

SDR2.Close();

Console.WriteLine(“———————————————————————-”);

SDR3 = SCom.ExecuteReader(CommandBehavior.CloseConnection);

do

{

while (SDR3.Read())

{

for (int i = 0; i < SDR3.FieldCount; i++)

{

Console.WriteLine(SDR3.GetName(i).ToString());

Console.WriteLine(SDR3.GetValue(i).ToString());

}

}

}

while (SDR3.NextResult());

SDR3.Close();

}

static void ShowInfo(SqlConnection a)

{

Console.WriteLine(a.State);

Console.WriteLine(a.ServerVersion);

Console.WriteLine(a.PacketSize);

}

}

}

http://depositfiles.com/ru/files/8bcm4inu4

Подключение, вставка, удаление, обновление.

Для того чтобы выполнить операторы SQL модифицирующие таблицу данных типа delete,update, insert.

Нужно вызвать метод ExecutenonQuery() а не ExecuteReader();

Возвращает количество строк на которые повлиял оператор.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.SqlClient;

using System.Data;

namespace ClassLibrary1

{

class booksConnection

{

private SqlConnection Connect = new SqlConnection();

private void OpenConnection(string connectionString)

{

Connect.ConnectionString = connectionString;

Connect.Open();

}

private void CloseConnection()

{

Connect.Close();

}

private void InsertBooks(string Name,int Pages,int YearPress,int id_Themes,int id_Category,int id_Author,int id_Press,string Comment,int Quantity)

{

string s =string.Format(“Insert into books (Name,Pages,YearPress,id_Themes,id_Category,id_Author,id_Press,Comment,Quantity)VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9})”, Name, Pages, YearPress, id_Themes, id_Category, id_Author, id_Press, Comment, Quantity);

SqlCommand SCom = new SqlCommand(s, Connect);

SCom.ExecuteNonQuery();

}

private void DeleteFromBooks(int id)

{

string s = string.Format(“Delete from books where id={0}”,id);

SqlCommand SCom = new SqlCommand(s, Connect);

SCom.ExecuteNonQuery();

}

private void UpdateBooks(string Name, int id)

{

string s = string.Format(“Update  books SET NAME={0},where id={1}”,Name,id);

SqlCommand SCom = new SqlCommand(s, Connect);

SCom.ExecuteNonQuery();

}

private void SelectFromBooks()

{

string s =”select * from books” ;

SqlCommand SCom = new SqlCommand(s, Connect);

SCom.ExecuteNonQuery();

}

private DataTable GetTable()

{

DataTable rez = new DataTable();

string q = String.Format(“Select * from Books”);

SqlCommand sc = new SqlCommand(q, Connect);

SqlDataReader sdr = sc.ExecuteReader(CommandBehavior.Default);

rez.Load(sdr);

return rez;

}

private string GetProcedure(int id)

{

string  name = string.Empty;

SqlCommand Command=new SqlCommand(“sp_FindBookName”,Connect);

SqlParameter param=new SqlParameter();

param.TypeName = “@name”;

param.SqlDbType = SqlDbType.VarChar;

param.Direction = ParameterDirection.Output;

param.Size = 100;

Command.Parameters.Add(param);

id = 0;

SqlCommand Command2 = new SqlCommand(“sp_FindBookName”, Connect);

SqlParameter param2 = new SqlParameter();

param2.TypeName = “@name”;

param2.SqlDbType = SqlDbType.Int;

param2.Direction = ParameterDirection.Input;

param2.Size = 100;

Command.Parameters.Add(param2);

Command.ExecuteNonQuery();

return Command.Parameters["name"].Value.ToString();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using ClassLibrary1;

using System.Configuration;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

// Get connection string from app.config.

string cnStr =ConfigurationManager.ConnectionStrings["BookSqlProvider"].ConnectionString;

bool userDone = false;

string userCommand = “”;

// Create our InventoryDAL object.

ClassLibrary1.Class1 books = new ClassLibrary1.Class1();

books.

ClassLibrary1.Class1 books = new ClassLibrary1.Class1();

books.OpenConnection(cnStr);

Console.WriteLine(“**** Very Simple Connection Factory *****n”);

// Чтение ключа поставщика.

string dataProvString = ConfigurationManager.AppSettings["provider"];

// Преобразование строки в перечисление.

DataProvider dp = DataProvider.None;

if (Enum.IsDefined(typeof(DataProvider), dataProvString))

dp = (DataProvider)Enum.Parse(typeof(DataProvider), dataProvString);

else

Console.WriteLine(“Sorry, no provider exists!”); // поставщик отсутствует

// Получение конкретного подключения.

IDbConnection myCn = GetConnection(dp);

if (myCn != null)

Console.WriteLine(“Your connection is a {0}”, myCn.GetType().Name);

// Открытие, использование и закрытие подключения . . .

Console.ReadLine();

}

}

}

Автономный уровень и пространство имен system.data

Disconnect Layer или автономный уровень ado.net позволяет,

Смоделировать в памяти данные из базы данных, с помощью членов пространства system.data и обеспечить, инструменты для работы с этими данными.

DataSet

DataView                                     DataTable

DataRow      DataColumn

DataRelation

Адаптер данных это объект который поставляет и обновляет данные.

Алгоритм работы автономного уровня:

  1. При подключении к базе данных объект адаптер, создает подключение и держит его открытым минимально возможное время.
  2. После того как вызывающий процесс получит объект DataSet, вызывающий слой, код программа, полностью отключается от базы данных.

3.Физическая БД не обновляется пока  вызывающий процесс явно не передаст DataSet адаптеру данных для обновления.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

DataSet ds = new DataSet();

ds.ExtendedProperties["Time"] = DateTime.Now;

ds.ExtendedProperties["ID"] = Guid.NewGuid();

ds.ExtendedProperties["Name"] = “LOGAN”;

DataColumn dc_id = new DataColumn();

dc_id.DataType = typeof(int);

dc_id.Unique = true;

dc_id.AutoIncrement = true;

dc_id.Caption = “ID”;

dc_id.ColumnName = “ID”;

dc_id.AllowDBNull = true;

DataColumn dc_Firstname = new DataColumn();

dc_Firstname.Caption = “Fisrtname”;

dc_Firstname.ColumnName = “Firstname”;

DataColumn dc_Lastname = new DataColumn();

dc_Lastname.Caption = “Lastname”;

dc_Lastname.ColumnName = “Lastname”;

DataTable dt = new DataTable();

dt.TableName = “Mytable”;

dt.Columns.Add(dc_id);

dt.Columns.Add(dc_Lastname);

dt.Columns.Add(dc_Firstname);

DataRow dr = dt.NewRow();

dr["Lastname"] = “Jenia”;

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["Firstname"] = “Kolosvetov”;

dt.Rows.Add(dr);

DataColumn[] dt2 = new DataColumn[] { dt.Columns[0] };

dt2 = dt.PrimaryKey;

ds.Tables.Add(dt);

print(ds);

}

static void print(DataSet d)

{

foreach (System.Collections.DictionaryEntry scd in d.ExtendedProperties)

{

Console.WriteLine(” Key: ” + scd.Key + ” Value: ” + scd.Value.ToString());

}

foreach (DataTable dt in d.Tables)

{

foreach (DataColumn dc in dt.Columns)

{

Console.Write(dc.ColumnName.ToString() + “  “);

}

foreach (DataRow s in dt.Rows)

{

for (int i = 0; i < dt.Rows.Count; i++)

{

for (int curCol = 0; curCol < dt.Columns.Count; curCol++)

{

Console.Write(dt.Rows[i][curCol].ToString() + “t”);

}

Console.WriteLine();

}

}

}

}

}

}

static void PrintTable(DataTable dt)

{

// Создание объекта DataTableReader.

DataTableReader dtReader = dt.CreateDataReader ();

// DataTableReader работает так же, как и DataReader.

while (dtReader.Read())

{

for (int i = 0; i < dtReader.FieldCount; i++)

{

Console.Write(” {0}t”, (dtReader.GetValue(i)).ToString().Trim() ) ;

}

Console.WriteLine() ;

}

dtReader.Close() ;

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using System.Threading;

using System.IO;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

DataSet ds = new DataSet();

ds.ExtendedProperties["Time"] = DateTime.Now;

ds.ExtendedProperties["ID"] = Guid.NewGuid();

ds.ExtendedProperties["Name"] = “LOGAN”;

DataColumn dc_id = new DataColumn();

dc_id.DataType = typeof(int);

dc_id.Unique = true;

dc_id.AutoIncrement = true;

dc_id.Caption = “ID”;

dc_id.ColumnName = “ID”;

dc_id.AllowDBNull = true;

DataColumn dc_Firstname = new DataColumn();

dc_Firstname.Caption = “Fisrtname”;

dc_Firstname.ColumnName = “Firstname”;

DataColumn dc_Lastname = new DataColumn();

dc_Lastname.Caption = “Lastname”;

dc_Lastname.ColumnName = “Lastname”;

DataTable dt = new DataTable();

dt.TableName = “Mytable”;

dt.Columns.Add(dc_id);

dt.Columns.Add(dc_Lastname);

dt.Columns.Add(dc_Firstname);

DataRow dr = dt.NewRow();

dr["Lastname"] = “LOGAN”;

dr["Firstname"] = “HA-ha”;

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["Lastname"] = “Jenia”;

dr["Firstname"] = “Kolosvetov”;

dt.Rows.Add(dr);

DataColumn[] dt2 = new DataColumn[] { dt.Columns[0] };

dt2 = dt.PrimaryKey;

ds.Tables.Add(dt);

print(ds);

DataSetAsXml(ds);

DataSetAsBinary(ds);

datasetasxml(ds);

}

static void print(DataSet d)

{

foreach (System.Collections.DictionaryEntry scd in d.ExtendedProperties)

{

Console.WriteLine(” Key: ” + scd.Key + ” Value: ” + scd.Value.ToString());

}

Console.WriteLine();

foreach (DataTable dt in d.Tables)

{

foreach (DataColumn dc in dt.Columns)

{

Console.Write(dc.ColumnName.ToString() + ” “);

}

Console.WriteLine(“n”);

for (int i = 0; i < dt.Rows.Count; i++)

{

for (int curCol = 0; curCol < dt.Columns.Count; curCol++)

{

Console.Write(dt.Rows[i][curCol].ToString() + “t”);

}

Console.WriteLine();

}

// Thread.Sleep(5000);

}

}

static void DataSetAsXml(DataSet AuthorsInventory)

{

// Сохранение данного DataSet в виде XML.

AuthorsInventory.WriteXml(“AuthorsDataSet.xml”);

AuthorsInventory.WriteXmlSchema(” AuthorsDataSet.xsd”);

// Очистка DataSet.

}

static void datasetasxml(DataSet AuthorsInventory)

{

AuthorsInventory.Clear();

// Загрузка DataSet из XML-файла.

AuthorsInventory.ReadXml(” AuthorsDataSet.xml”);

}

static void DataSetAsBinary(DataSet AuthorsInventory)

{

// Установка признака двоичной сериализации.

AuthorsInventory.RemotingFormat = SerializationFormat.Binary;

// Сохранение данного DataSet в двоичном виде.

FileStream fs = new FileStream(“BinaryCars.bin”, FileMode.Create);

BinaryFormatter bFormat = new BinaryFormatter();

bFormat.Serialize(fs, AuthorsInventory);

fs.Close();

// Очистка DataSet.

AuthorsInventory.Clear();

// Загрузка DataSet из двоичного файла.

fs = new FileStream(“BinaryCars.bin”, FileMode.Open);

DataSet data = (DataSet)bFormat.Deserialize(fs);

}

}

}

ПРИВЯЗКА ОБЪЕКТОВ DAtaTAble  к элементам управления.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace ado

{

public partial class Form1 : Form

{

DataTable Authors = new DataTable();

List<Author> iter = new List<Author>();

DataColumn dc_id = new DataColumn();

DataColumn dc_Firstname = new DataColumn();

DataColumn dc_Lastname = new DataColumn();

int tmp_id;

DataTable dt = new DataTable();

public Form1()

{

InitializeComponent();

for (int i = 1; i < 10; i++)

iter.Add(new Author(i, “One” + i, “Once” + i));

CreateDataTable();

tmp_id = 0;

}

void CreateDataTable()

{

//dc_id.DataType = typeof(int);

//dc_id.Unique = true;

//dc_id.AutoIncrement = true;

dc_id.Caption = “ID”;

dc_id.ColumnName = “ID”;

dc_id.AllowDBNull = true;

dc_Firstname.Caption = “Fisrtname”;

dc_Firstname.ColumnName = “Firstname”;

dc_Lastname.Caption = “Lastname”;

dc_Lastname.ColumnName = “Lastname”;

dt.TableName = “Mytable”;

dt.Columns.Add(dc_id);

dt.Columns.Add(dc_Lastname);

dt.Columns.Add(dc_Firstname);

foreach (Author a in iter)

{

DataRow newRow = dt.NewRow();

newRow["Lastname"] = a.FName;

newRow["Firstname"] = a.Lname;

newRow["ID"] = a.id;

dt.Rows.Add(newRow);

}

grid.DataSource = dt;

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

tmp_id = Convert.ToInt32(textBox1.Text);

dt.Rows[tmp_id-1].Delete();

//dt.AcceptChanges();// for bd

}

private void button2_Click(object sender, EventArgs e)

{

string strMake = “”;

DataRow[] nr = dt.Select(string.Format(“Firstname=’{0}’”, textBox2.Text.ToString()));

for (int i = 0; i < nr.Length; i++)

{

DataRow temp = nr[i];

strMake += temp["Firstname"] + “n”;

}

MessageBox.Show(strMake);

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace ado

{

public partial class Form1 : Form

{

DataTable Authors = new DataTable();

List<Author> iter = new List<Author>();

DataColumn dc_id = new DataColumn();

DataColumn dc_Firstname = new DataColumn();

DataColumn dc_Lastname = new DataColumn();

int tmp_id;

DataTable dt = new DataTable();

DataView dv;

public Form1()

{

InitializeComponent();

for (int i = 1; i < 10; i++)

iter.Add(new Author(i, “One” + i, “Once” + i));

CreateDataTable();

tmp_id = 0;

}

void CreateDataTable()

{

//dc_id.DataType = typeof(int);

//dc_id.Unique = true;

//dc_id.AutoIncrement = true;

dc_id.Caption = “ID”;

dc_id.ColumnName = “ID”;

dc_id.AllowDBNull = true;

dc_Firstname.Caption = “Fisrtname”;

dc_Firstname.ColumnName = “Firstname”;

dc_Lastname.Caption = “Lastname”;

dc_Lastname.ColumnName = “Lastname”;

dt.TableName = “Mytable”;

dt.Columns.Add(dc_id);

dt.Columns.Add(dc_Lastname);

dt.Columns.Add(dc_Firstname);

foreach (Author a in iter)

{

DataRow newRow = dt.NewRow();

newRow["Lastname"] = a.FName;

newRow["Firstname"] = a.Lname;

newRow["ID"] = a.id;

dt.Rows.Add(newRow);

}

grid.DataSource = dt;

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

tmp_id = Convert.ToInt32(textBox1.Text);

dt.Rows[tmp_id-1].Delete();

//dt.AcceptChanges();// for bd

}

private void button2_Click(object sender, EventArgs e)

{

string strMake = “”;

DataRow[] nr = dt.Select(string.Format(“Firstname=’{0}’”, textBox2.Text.ToString()));

for (int i = 0; i < nr.Length; i++)

{

DataRow temp = nr[i];

strMake += temp["ID"] + “n”;

strMake += temp["Firstname"] + “n”;

strMake += temp["Lastname"] + “n”;

}

MessageBox.Show(strMake);

CreateDataView();

}

private void CreateDataView()

{

// Указание таблицы для создания данного представления.

dv = new DataView(dt);

// Настройка представлений с помощью фильтра.

dv.RowFilter = string.Format(“Firstname=’{0}’”, textBox2.Text.ToString());

// Привязка к новой графической таблице.

dataGridView1.DataSource = dv;

}

}

}

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

Имя  Описание

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

DbDataAdapter(DbDataAdapter)  Инициализирует новый экземпляр класса DataAdapter из существующего объекта того же типа.

В начало страницы

Методы

Имя  Описание

AddToBatch       Добавляет интерфейс IDbCommand к текущему пакету.

ClearBatch          Удаляет все объекты IDbCommand из пакета.

CloneInternals    Устаревшее. Создает дубликат этого экземпляра класса DataAdapter. (Унаследовано от DataAdapter.)

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

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

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

CreateTableMappings Создает новый объект DataTableMappingCollection. (Унаследовано от DataAdapter.)

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

Dispose(Boolean)       Освобождает неуправляемые ресурсы, используемые объектом DbDataAdapter (при необходимости освобождает и управляемые ресурсы). (Переопределяет DataAdapter.Dispose(Boolean).)

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

ExecuteBatch     Выполняет текущий пакет.

Fill(DataSet)      Добавляет или обновляет строки в объекте DataSet. (Переопределяет DataAdapter.Fill(DataSet).)

Fill(DataTable)  Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с использованием имени DataTable.

Fill(DataSet, String)    Добавляет или обновляет строки в объекте DataSet для получения соответствия строкам в источнике данных с помощью имен DataSet и DataTable.

Fill(DataTable, IDataReader)        Добавляет или обновляет строки в DataTable для получения соответствия строкам в источнике данных с помощью имени DataTable и указанного интерфейса IDataReader. (Унаследовано от DataAdapter.)

Fill(DataTable, IDbCommand, CommandBehavior)        Добавляет или обновляет строки в объекте DataTable для получения соответствия строкам в источнике данных с помощью указанного объекта DataTable, интерфейса IDbCommand и значения типа CommandBehavior.

Fill(Int32, Int32, DataTable[])      Добавляет или обновляет строки в объекте DataTable для получения соответствия строкам в источнике данных, начиная с указанной записи и вплоть до заданного максимального количества получаемых записей.

Fill(DataSet, Int32, Int32, String) Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с использованием имен DataSet и DataTable.

Fill(DataTable[], IDataReader, Int32, Int32)  Добавляет или обновляет строки в указанной коллекции объектов DataTable для получения соответствия строкам в источнике данных. (Унаследовано от DataAdapter.)

Fill(DataSet, String, IDataReader, Int32, Int32)       Добавляет или обновляет строки в указанном диапазоне в DataSet для получения соответствия строкам в источнике данных с помощью имен DataSet и DataTable. (Унаследовано от DataAdapter.)

Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)   Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с использованием имен DataSet и DataTable.

Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)     Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с помощью имен DataSet и исходной таблицы, командной строки и поведения команды.

FillSchema(DataSet, SchemaType)        Добавляет объект DataTable с именем “Таблица” к указанному объекту DataSet и настраивает схему в соответствии с источником данных, основанном на указанном значении типа SchemaType. (Переопределяет DataAdapter.FillSchema(DataSet, SchemaType).)

FillSchema(DataTable, SchemaType)    Настраивает схему для указанного объекта DataTable, основываясь на указанном значении типа SchemaType.

FillSchema(DataSet, SchemaType, String)      Добавляет объект DataTable к указанному объекту DataSet и настраивает схему в соответствии с источником данных, основанном на указанном значении типа SchemaType и объекте DataTable.

FillSchema(DataTable, SchemaType, IDataReader) Добавляет объект DataTable к указанному объекту DataSet. (Унаследовано от DataAdapter.)

FillSchema(DataSet, SchemaType, String, IDataReader)  Добавляет объект DataTable к указанному объекту DataSet. (Унаследовано от DataAdapter.)

FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)     Настраивает схему для указанного объекта DataTable, основываясь на указанном значении типа SchemaType, командной строке и значениях типа CommandBehavior.

FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)     Добавляет объект DataTable к указанному объекту DataSet и настраивает схему в соответствии с источником данных, основанном на указанном значении типа SchemaType.

Finalize     Освобождает неуправляемые ресурсы и выполняет другие операции очистки перед тем, как объект Component будет освобожден при сборке мусора. (Унаследовано от Component.)

GetBatchedParameter Возвращает интерфейс IDataParameter из одной из команд в текущем пакете.

GetBatchedRecordsAffected         Возвращает сведения об отдельной попытке обновления в рамках большего по своему объему пакета обновления.

GetFillParameters       Получает параметры, заданные пользователем при выполнении оператора SQL SELECT. (Переопределяет DataAdapter.GetFillParameters().)

GetHashCode     Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)

GetLifetimeService     Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

GetService Возвращает объект, представляющий службу, обеспечиваемую компонентом Component или его контейнером Container. (Унаследовано от Component.)

GetType     Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)

HasTableMappings      Указывает, был ли создан DataTableMappingCollection. (Унаследовано от DataAdapter.)

InitializeBatching        Инициализирует пакетную обработку для объекта DbDataAdapter.

InitializeLifetimeService      Возвращает объект обслуживания во время существования для управления политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)

MemberwiseClone      Создает неполную копию текущего объекта Object. (Унаследовано от Object.)

MemberwiseClone(Boolean)        Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject.)

OnFillError        Вызывается при возникновении ошибки, когда применяется метод Fill. (Унаследовано от DataAdapter.)

OnRowUpdated Вызывает событие RowUpdated поставщика данных .NET Framework.

OnRowUpdating         Вызывает событие RowUpdating поставщика данных .NET Framework.

ResetFillLoadOption  Сбрасывает свойство FillLoadOption к состоянию по умолчанию и вызывает метод DataAdapter.Fill для обеспечения поддержки свойства AcceptChangesDuringFill. (Унаследовано от DataAdapter.)

ShouldSerializeAcceptChangesDuringFill      Определяет, должно ли сохраняться свойство AcceptChangesDuringFill. (Унаследовано от DataAdapter.)

ShouldSerializeFillLoadOption    Определяет, должно ли сохраняться свойство FillLoadOption. (Унаследовано от DataAdapter.)

ShouldSerializeTableMappings     Определяет, существует ли один или несколько объектов DataTableMapping и нужно ли их сохранить. (Унаследовано от DataAdapter.)

TerminateBatching      Завершает пакетную обработку для объекта DbDataAdapter.

ToString    Возвращает строку String, содержащую имя компонента Component, если таковое имеется.Этот метод не следует переопределять. (Унаследовано от Component.)

В XNA Framework 3.0 этот член наследуется от Object.ToString().

ToString    Возвращает объект String, который представляет текущий объект Object. (Унаследовано от Object.)

Update(DataRow[])    Вызывает соответствующие операторы INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанном массиве объектов DataRow.

Update(DataSet) Вызывает соответствующие операторы INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в объекте DataSet. (Переопределяет DataAdapter.Update(DataSet).)

Update(DataTable)      Вызывает соответствующие операторы INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в объекте DataTable.

Update(DataRow[], DataTableMapping)        Вызывает соответствующие операторы INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в указанном массиве объектов DataRow.

Update(DataSet, String)       Вызывает соответствующие операторы INSERT, UPDATE или DELETE для каждой вставленной, обновленной или удаленной строки в объекте DataSet с указанным именем DataTable.

В начало страницы

Поля

Имя  Описание

DefaultSourceTableName    Имя по умолчанию, используемое объектом DataAdapter для сопоставлений таблиц.

В начало страницы

Свойства

Имя  Описание

AcceptChangesDuringFill    Возвращает или задает значение, указывающее, вызывается ли метод AcceptChanges в объекте DataRow после его добавления к объекту DataTable при выполнении любой из операций Fill. (Унаследовано от DataAdapter.)

AcceptChangesDuringUpdate       Возвращает или задает, вызывается ли метод AcceptChanges при вызове метода Update. (Унаследовано от DataAdapter.)

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

Container  Возвращает контейнер IContainer, содержащий компонент Component. (Унаследовано от Component.)

ContinueUpdateOnError      Возвращает или задает ��начение, указывающее, следует ли генерировать ли исключение при обнаружении ошибки во время обновления строки. (Унаследовано от DataAdapter.)

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

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

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

FillCommandBehavior         Возвращает или задает реакцию команды, использованной для заполнения адаптера данных.

FillLoadOption  Возвращает или задает значение перечисления типа LoadOption, определяющее, как адаптер заполняет объект DataTable из объекта DbDataReader. (Унаследовано от DataAdapter.)

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

MissingMappingAction        Определяет действие, выполняемое, если входные данные не соответствуют таблице или столбцу. (Унаследовано от DataAdapter.)

MissingSchemaAction Определяет действие, которое должно быть выполнено, если существующая схема DataSet не соответствует входным данным. (Унаследовано от DataAdapter.)

ReturnProviderSpecificTypes        Возвращает или задает, должен ли метод Fill возвращать зависящие от поставщика значения или обычные CLS-совместимые значения. (Унаследовано от DataAdapter.)

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

Site   Получает или задает экземпляр ISite для компонента Component. (Унаследовано от Component.)

TableMappings   Получает коллекцию, обеспечивающую основное сопоставление между исходной таблицей и DataTable. (Унаследовано от DataAdapter.)

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

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

В начало страницы

События

Имя  Описание

Disposed   Происходит при удалении компонента вызовом метода Dispose. (Унаследовано от Component.)

FillError    Возвращается при возникновении ошибки во время работы операции заполнения. (Унаследовано от DataAdapter.)

Алгоритм создания работы адаптера:

1.Создать адаптер можно, используя конструктор по умолчанию или перегруженный конструктор принимающий text команды используемой объектом командой select command. Объекты команды insert command,delete commandm update command , настраивются вручную или автоматически но ограничением.

Вызов метода FILL позволяет получить объект dataSet или DataTable.

Если необходимо передать измененный объект dateSet или dataTable обратно в базу данных, можно вызвать метод Update;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Collections;

using System.Text;

using System.Data;

using System.Data.Common;

using System.Data.SqlClient;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

string connect = @”Data Source=(local);Initial Catalog=Library;Integrated Security=true;”;

DataSet ds = new DataSet(“Books”);

SqlDataAdapter ad = new SqlDataAdapter(“Select * from Books”, connect);

ad.Fill(ds);

Print(ds);

}

static void Print(DataSet ds)

{

Console.WriteLine(“Data Set is named: ” + ds.DataSetName);

foreach (DictionaryEntry de in ds.ExtendedProperties)

{

Console.WriteLine(“Key => {0}, Value => {1}”, de.Key, de.Value);

}

Console.WriteLine(“nTables in Data Set:n——————-”);

foreach (DataTable dt in ds.Tables)

{

Console.WriteLine(“=>t” + dt.TableName);

}

Console.WriteLine();

foreach (DataColumn dc in ds.Tables[0].Columns)

{

Console.Write(dc.Caption + “t”);

}

Console.WriteLine(“n”);

foreach (DataRow dr in ds.Tables[0].Rows)

{

foreach (DataColumn dc in ds.Tables[0].Columns)

{

Console.Write(dr[dc.ColumnName] + “t”);

}

Console.WriteLine();

}

Console.WriteLine();

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using ClassLibrary1;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

ClassLibrary1.Class1 ad = null;

public Form1()

{

InitializeComponent();

string connect = @”Data Source = (local);Integrated Security=true;Initial Catalog=Library;”;

ad = new Class1(connect);

dataGridView1.DataSource = ad.GetAllBooks();

}

private void button1_Click(object sender, EventArgs e)

{

// Получение измененных данных из графической таблицы.

DataTable changedDT = (DataTable)dataGridView1.DataSource;

// Внесение изменений.

ad.updateBooks(changedDT);

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using DiconnectedLayerLibrary;

namespace Books

{

public partial class Form1 : Form

{

private DataSet ds;

private DataTable t1;

private DataTable t2;

private DataRelation dr;

private string connect = @”Data Source = (local);Integrated Security=true;Initial Catalog=Library;”;

private DiconnectedLayerLibrary.Class1 ad;

private DiconnectedLayerLibrary.AuthorsAdapter athAD;

//private DataTable dt;

public Form1()

{

InitializeComponent();

ds = new DataSet();

ad = new Class1(connect);

athAD = new AuthorsAdapter(connect);

t1 = ad.GetAllBooks();

t2 = athAD.GetAllAuthors();

dataGridView1.DataSource = t1;

dataGridView2.DataSource = t2;

ds.Tables.Add(t1);

ds.Tables.Add(t2);

dr = new DataRelation(“B-A”,ds.Tables[1].Columns[0],ds.Tables[0].Columns[6]);

ds.Relations.Add(dr);

}

private void button1_Click(object sender, EventArgs e)

{

DataTable dt = (DataTable)dataGridView1.DataSource;

ad.UpdateTable(dt);

}

private void button3_Click(object sender, EventArgs e)

{

DataRow[] RA = ds.Tables[1].Select(“LastName=” + @”‘” + textBox2.Text.ToString() + “‘”);

foreach(DataRow r in RA)

{

MessageBox.Show(r["Lastname"].ToString() + r["Firstname"].ToString());

string str = “”;

DataRow[] res = r.GetChildRows(ds.Relations[0]);

foreach (DataRow d in res)

{

str += d[1];

str += “n”;

}

MessageBox.Show(str);

}

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using ClassLibrary1;

using ClassLibrary1.DataSet1TableAdapters;

namespace WindowsFormsApplication4

{

public partial class Form1 : Form

{

private ClassLibrary1.DataSet1 ds;

StudentsTableAdapter a;

PressTableAdapter pa;

public Form1()

{

InitializeComponent();

ds = new ClassLibrary1.DataSet1();

a = new StudentsTableAdapter();

a.Fill(ds.Students);

dataGridView1.DataSource = ds.Students;

listBox1.DataSource = ds.Press;

listBox1.DisplayMember = “Name”;

}

}

}

Мой блог находят по следующим фразам

35 отзыва(-ов) »

  1. [...] vn.net работа с буфером обмена [...]

  2. [...] подключение с базой данных oracle используя entity framework [...]

  3. [...] программный интерфейс logan [...]

  4. [...] c# обновление datatable с помощью процедур oracle [...]

  5. [...] ado.net автономный уровень [...]

  6. [...] c# создание строго типизированного dataset с помощью графи… [...]

  7. [...] Порядок столбцов в сопоставлении не сохранен ADO [...]

  8. [...] entity framework datadapter [...]

  9. [...] SqlDataAdapter GetFillParameters [...]

  10. [...] обновить базы данных из объекта DataSet с помощью Visual Basic.NE… [...]

  11. [...] system.linq подключение к базе данных [...]

  12. [...] ado.net автономный уровень update,insert,delete [...]

  13. [...] Произошла ошибка базового поставщика в Open Entity [...]

  14. [...] как обновить данные dataset oracle [...]

  15. [...] Entity Connection Произошла ошибка базового поставщика в Open. [...]

  16. [...] grid + подключеный уровень ado.net [...]

  17. [...] vb.net connectionstring безопасность подключения к SQL [...]

  18. [...] Ado.Net методы расширения [...]

  19. [...] автаномный уровень ADO.NET [...]

  20. [...] Произошла ошибка базового поставщика в Open [...]

  21. [...] datacolumn.expression ссылки на отношения родительский/дочерний… [...]

  22. [...] как исключить из поиска удаленные записи в enumerablerowcollecti… [...]

  23. [...] c# + unique + invalidconstraintexception [...]

  24. [...] обновление базы данных с помощью объекта datatable [...]

  25. [...] сведения о сопоставления в entity framework oracle [...]

  26. [...] произошла ошибка базового поставщика в open [...]

  27. [...] произошла ошибка базового поставщика в open. [...]

  28. [...] произошла ошибка базового поставщика в open. [...]

  29. [...] произошла ошибка базового поставщика в open. [...]

  30. [...] произошла ошибка базового поставщика в open [...]

  31. [...] logan.progryz.ru+ado-net-2 [...]

  32. [...] произошла ошибка базового поставщика в open [...]

  33. [...] произошла ошибка базового поставщика в open [...]

  34. [...] entity framework произошла ошибка базового поставщика в open [...]

  35. [...] datatablecollection c# удалить дубликаты [...]

Оставить отзыв