Программирование в IIS


Класс Data Reader


С учетом псевдонимов, сгенерированных дизайнером компонентов, можно разработать код, устанавливающий параметры и заполняющий объект DataReader. Например, функция Add веб-службы Events использует экземпляр класса команды InsertEvent для добавления нового события. Псевдонимы имен полей таблицы базы данных, определенные при инициализации класса InsertEvent, используются методом Parameters для присвоения значения полю, представляемому псевдонимом в команде Insert SQL, используемой классом InsertEvent для обновления таблицы базы данных. В листинге 3.7 приведен код функции Add.

/// <summary> /// Adds a new event to system /// </summary> [WebMethod] public bool Add() { System.Data.SqlClient.SqlDataReader myEvent;

try { //set state for the command object instance InsertEvent.Parameters["@Name"].Value =mEvent.Name;

InsertEvent.Parameters["@StartDate"].Value =mEvent.DateTime;

InsertEvent.Parameters["@Description"].Value =mEvent.Description;

//open the connection object ServicesDBConn.Open();

//run query myEvent = this.InsertEvent.ExecuteReader();

//must advance to first record myEvent.Read();

//fill local properties mEvent.ID = myEvent.GetInt32(3);

//shut down record myEvent.Close(); } catch(System.Exception Err ) { //log error this.LogMessage(Err.ToString() , true);

//rethrow for client consumption throw Err; }

//success if we get this far return true; }

Листинг 3.7. Add Function in Events Web Service

Экземпляр класса SQLDataReader создан для доступа к данным, возвращаемым из экземпляра класса SQLCommand с именем InsertEvent. Экземпляр InsertEvent установлен в качестве свойства объекта SQLDataAdaptor EventsAdaptor и имеет объект подключения servicesDBConn, поэтому он возвращает данные экземпляру объекта SQLDataReader с именем myEvent. Локальный экземпляр anEvent с именем mEvent используется для хранения текущего состояния события веб-службы Events. В листинге 3.8

приведен исходный код класса anEvent.

/// <summary> /// a single event /// </summary> public class anEvent {




- Начало -  - Назад -  - Вперед -



Книжный магазин