DataAdapter
Для осуществления взаимодействия между DataSet и собственно источником данных используется объект типа DataAdapter. Само название этого объекта– адаптер, преобразователь, – указывает на его природу. DataAdapter содержит метод Fill() для обновления данных из базы и заполнения DataSet. в ADO.NET есть специализированный объ- ект для выполнения запросов, называемый Command. Под запросами понимает ся выполнение SQL-конструкций или запуск хранимых процедур. Этот объект среда создает неявным образом в методе InitializeComponent. Данный объект обладает следующими свойствами. Connection – подключение к базе данных. Можно использовать как суще- ствующее подключение, так и создавать новое. CommandType – тип команды (запроса), который будет направляться к базе данных. Возможны следующие значения: • Text. Текстовая команда состоит из SQL-конструкции, направляемой к ба- зе данных. Это значение используется по умолчанию. • StoredProcedure. Текстовая команда состоит из названия хранимой проце- дуры. • TableDirect. Текстовая команда состоит из названия таблицы базы данных. В результате извлекается все содержимое таблицы. Эта команда анало- гична текстовой команде SELECT * FROM Название_таблицы. Данная ко- манда поддерживается только управляемым поставщиком OLE DB. CommandText – собственно сам текст запроса. Объект dataAdapter имеет свойство SelectCommand, в котором мы и будем указывать объект myCommand: DataAdapter. Это своеобразный шлюз между автономными и подключенными аспектами ADO.NET. Он устанавливает подключение, и если подключение уже установлено, содержит достаточно информации, чтобы воспринимать данные автономных объектов и взаимодействовать с базой данных. (DataAdapter – SqlDataAdapter, OracleDataAdapter) В автономных приложениях, созданных с помощью ADO.NET, используют иной подход. Для обеспечения автономности используются объекты DataAdapter. Они осуществляют выполнение запросов, используя для этого объекты подключения. А результаты выполнения, то есть данные, передает автономным объектам. Благодаря такому принципу автономные объекты не знают о существовании объектов подключения, так как напрямую не работают с ними. Таким образом, реализация объекта, хранящего данные, не зависит от конкретного поставщика данных, а именно от СУБД. Поскольку конкретная реализация адаптера данных зависит от соответствующего источника данных, конкретные адаптеры данных реализованы в составе конкретных поставщиков.
|