Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 19

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 13 14 15 16 17 18 < 19 > 20 21 22 23 24 25 .. 260 >> Следующая

2-5358
10
Часть I Основы работы с Microsoft ADO.N'FT
Объект Transaction
Иногда несколько изменений содержимого БД требуется сгруппировать и обрабатывать как единицу работы. В программировании БД такая единица называется транзакцией (transaction). Предположим, ваша БД содержит банковскую информацию и включает таблицы сберегательных и текущих счетов. Если пользователь захотел перевести денежные средства со сберегательного на текущий счет, в коде следует убедиться, что снятие средств со сберегательного счета и внесение их на текущий счет успешно завершились как одна единица работы или что не было сделано ни одного из изменений. Для этого и предназначена транзакция.
У объекта Connection есть метод BeginTmnsaction, позволяющий создавать объекты Transaction. С помощью объекта Transaction удается подтвердить или отменить все коррективы, сделанные в ходе транзакции. В нашем примере изменения обоих счетов включены в одну транзакцию, и ^^.^"Жк?-:", эта процедура подтверждается или как одна единица работы.
Объект Parameter
Скажем, вам требуется выбрать из БД Orders все заказы конкретного клиента. Запрос выглядит
SELECT CustcneriD, CompanyName, CompyriyNilne, Phone FROM Customers WHERE CustomerlD = 'ALrKI'
Значение поля CustomerlD в разделе WHERE запроса зависит от клиента, заказы которого требуется просмотреть. Однако при использовании такого запроса его текст придется менять каждый раз, когда потребуется просмотреть заказы другого клиента.
Чтобы упростить выполнение аналогичных запросов, можно заменить значение поля CustomerlD маркером параметра:
SELECT CustomerlD, CompanyName, CompanyName, Phone ГНМ Customers where CustomerlD = ?
Затем, перед выполнением :ianj>i следует указать значение параметра. Многие разработчики интенсивно используют параметризованные запросы, поскольку они упрощают программирование и повышают эффективность кода.
Для применения параметризованного объекта Command создайте объекты Parameter, соответствующие всем параметрам запроса, и добавьте их в набор Parameters объекта Command. Объект Parameter ADO.NET предоставляет свойства и методы, позволяющие определить тип данных и значение параметров. Для работы с хранимой процедурой, возвращающей данные посредством параметров
вывода, задайте свойству Direction объекта Parameter соответствующее значение
из перечисления /Vm/WWw/V/iv
Объект DataAaapfer
Объект представляет новую концепцию моделей доступа к данным
Microsoft; у него нет близкого эквивалента в ADO и DAO, хотя объекты Command ADO и O^eryDe/ОАОможно считать его двоюродными братьями.
DataAdapter — это своеобразный мост между БД и отсоединенными объектами модели ADO.NET. Метод РШШф0гШ предоставляет эффективный механизм
ГЛАВА 1 Обзор ADO.NET
выборки результатов запроса в объект DataSetили .'-Л для последующей
автономной работы с ними. Кроме г* Т< >. объекты DatCbWaptenю sm>. 1Як.i передавать отложенные изменения из объектов DataSet в БД.
Объект DataAdapter ADO.NET предоставляет несколько свойств, фактически являющихся объектами Command. Так, свойство ттГСоШЫШасодержит объект Command, представляющий собой запрос для заполнения объекта DataSet. Кроме того, у DataAdapter есть свойства InsertCommand, UpdateCommancb. DeleteCommand. соответствующие объектам C'<*«/№*w/для передачи новых, измененных и V
ных записей в БД.
Эти объекты Сошшаи^предоставляютфункциональность обновления, которая в объектах Recordset ADO и DAO была автоматической. Например, когда вы выполняете в ADO запрос для создания объекта Recordset^npo курсоров ADO за-npaciKKSCT у БД метаданные о запросе, чтобы определить происхождение результатов. Затем ADO на основе метаданных создает логику ооновясмия. чтобы преобразовать изменения объекта Recordsets изменения содержимого БД,
Так для чего же объекту DataAdapter ADO.NET требуются отдельные свойства UpdateCommandJnsertCommand и DeleteCommand? Они позволяют определять собственную логику обновления. Функциональность обновления в ADO и DAO достаточно ограничена в том плане, что обе объектные модели преобразуют мененияобъектовАесог&е/*вкомандныезапросы.непосредственноссылающие-ся на таблицы БД. Для обеспечения безопасности и целостности данных многие адм i шистраторы БД ограничивают доступ ктаблицам БД, позволяя изменять их содержимое только с помощью хранимых процедур. В отличие от объекта DataAdapter ADO.NET, модели ADO и DAO не умеют передавать изменения средствами хранимых процедур и не позволяют вам определить собственную логику ления.
Свойствам UpdateCommand, InsertCommand и DeleteCommand объекта DataAdapter можно задать вызов хранимой процедуры, изменяющей, добавляющей или
удаляющей записи в соответствующей таблице БД. Затем следует вызвать метод DutaAdapterL'paateM ADO.NET с помощью созданных вами объектов Command передаст изменения из DataSet в БД,
Какужеговорилось,1)а/'аЛ^?егзаполняеттаблицывобъектеЩМ5&Г1атакже считывает кзширопамкыс изменения и передает их в БД. У DataAdapter имеете* несколько позволяющих вести мониторинг всех этих операций. Набор
Предыдущая << 1 .. 13 14 15 16 17 18 < 19 > 20 21 22 23 24 25 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100