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


Запись в базу данных - часть 3


В листинге 1.10 приведен исходный код функции OpenChair. Так как ID объекта "стул" является уникальным в базе данных, то ввиду ограничений работы с данными безопаснее считать, что функция возвращает только одну строку данных, и, как правило, следует использовать именно первую строку. Recordset исследуется на наличие данных с помощью проверки BOF (начало файла) и EOF (конец файла) – они не должны равняться значению "истина". Если значение параметров BOF и EOF равно "истине", то в наборе Recordset записи отсутствуют. Выполнение команды MoveFirst в пустом наборе Recordset приведет к ошибке. Свойства EOF или BOF всегда проверяются перед прохождением по набору Recordset в одном из направлений при помощи команд MoveNext или MovePrevious.

Листинг 1.10. Function OpenChair (html, txt)

Набор Recordset, полученный для OpenChair, создан другой вспомогательной ADO-функцией – GetADORecordSet. Как и ExecuteCommand, GetADORecordSet воспринимает выражение SQL как параметр и открывает набор Recordset из источников данных в локальном экземпляре m_Connection объекта Connection. Объект набора записей передается в вызывающую функцию. В листинге 1.11 приведен исходный код функции GetADORecordSet.

Листинг 1.11. Function GetADORecordSet (html, txt)

Существует много возможностей по усовершенствованию функции GetADORecordSet. Одной из них является установка набора ADO Recordset как параметра функции, передаваемого в ByRef, и возврат значения "истина" или "ложь" в зависимости от результата извлечения набора Recordset. Программа расходует ресурсы на создание набора записей ADO Recordset только один раз, и функция сообщит вызывающей функции о правильности набора Recordset. Функции ExecuteCommand и GetADORecordSet можно объединить в одну.




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



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