Объект Recordset в ADO
- Предыдущая страница ADO Record
- Следующая страница ADO Stream
Пример
- GetRows
- Этот пример демонстрирует, как использовать метод GetRows.
Объект Recordset
Объект Recordset ADO используется для хранения набора записей из таблицы базы данных. Объект Recordset состоит из записей и столбцов (полей).
В ADO этот объект является наиболее важным и часто используемым для выполнения операций с данными базы данных.
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
Когда вы впервые открываете Recordset, текущий указатель записи指向 первую запись, а атрибуты BOF и EOF равны False. Если нет записей, атрибуты BOF и EOF равны True.
Объект Recordset поддерживает два типа обновлений:
- Срочное обновление - как только вызывается метод Update, все изменения немедленно записываются в базу данных.
- Пакетное обновление - provider кэширует несколько изменений, а затем передает их в базу данных с помощью метода UpdateBatch.
В ADO определены 4 различных типа курсоров (пиктограмм):
- Динамический курсор - позволяет вам просматривать добавления, изменения и удаления, сделанные другими пользователями
- Курсор набора ключей - подобен динамическому курсору, но вы не можете просматривать добавления, сделанные другими пользователями, и он предотвращает доступ к записям, удаленным другими пользователями. Изменения данных, сделанные другими пользователями, все еще видны.
- Статический курсор - предоставляет статическую копию набора записей, которую можно использовать для поиска данных или создания отчетов. Кроме того, добавления, изменения и удаления, выполненные другими пользователями, будут не видны. При открытии клиента Recordset объекта это единственный разрешенный тип курсора.
- Статический курсор - предоставляет статическую копию набора записей, которую можно использовать для поиска данных или создания отчетов. Кроме того, добавления, изменения и удаления, выполненные другими пользователями, будут не видны. При открытии клиента Recordset объекта это единственный разрешенный тип курсора.
Тип курсора можно установить с помощью свойства CursorType или параметра CursorType в методе Open.
Комментарий:Не все провайдеры (providers) поддерживают все методы и свойства Recordset объекта.
Свойства
Свойства | Описание |
---|---|
AbsolutePage | Установить или вернуть значение, определяющее страницу в Recordset объекте. |
AbsolutePosition | Установить или вернуть значение, определяющее порядковое положение текущей записи в Recordset объекте (номер позиции). |
ActiveCommand | Вернуть объект Command, связанный с Recordset объектом. |
ActiveConnection | Установить или вернуть определение соединения, если соединение закрыто, или текущий объект Connection, если соединение открыто. |
BOF | Вернуть true, если текущая позиция записи перед первой записью, в противном случае вернуть false. |
Bookmark | Установить или вернуть закладку. Эта закладка сохраняет текущее положение записи. |
CacheSize | Установить или вернуть количество записей, которые могут быть缓存ированы. |
CursorLocation | Установить или вернуть положение курсорной службы. |
CursorType | Установить или вернуть тип курсора Recordset объекта. |
DataMember | Установить или вернуть имя члена данных, который должен быть получен из объекта, ссылающегося на DataSource свойство. |
DataSource | Определить объект, содержащий данные, которые должны быть представлены в виде объекта Recordset. |
EditMode | Вернуть текущий статус редактирования записи. |
EOF | Вернуть true, если текущая позиция записи после последней записи, в противном случае вернуть false. |
Filter | Вернуть фильтр для данных Recordset объекта. |
Index | Установить или вернуть имя текущего индекса Recordset объекта. |
LockType | Установить или вернуть значение, определяющее тип блокировки, который можно指定 при редактировании записи Recordset. |
MarshalOptions | Установить или вернуть значение, определяющее, какие записи должны быть возвращены серверу. |
MaxRecords | Устанавливает или возвращает максимальное количество записей Recordset, возвращаемых из запроса. |
PageCount | Возвращает количество страниц данных в Recordset. |
PageSize | Устанавливает или возвращает максимальное количество записей на одной странице Recordset объекта. |
RecordCount | Возвращает количество записей в Recordset. |
Sort | Устанавливает или возвращает имя одного или нескольких полей, используемых в качестве критерия сортировки Recordset. |
Source | Устанавливает строковое значение или ссылку на объект Command и возвращает строковое значение, указывающее данные источника Recordset объекта. |
State | Возвращает значение, описывающее состояние Recordset объекта: открыт, закрыт, в процессе подключения, выполнения или получения данных. |
Status | Возвращает состояние текущей записи в ходе批 обновления или других массовых операций. |
StayInSync | Устанавливает или возвращает, изменяется ли ссылка на подзаписи при изменении позиции родительской записи. |
Метод
Метод | Описание |
---|---|
AddNew | Создает новую запись. |
Cancel | Отменяет одно выполнение. |
CancelBatch | Отменяет одно действие批 обновления. |
CancelUpdate | Отменяет изменения, сделанные в одной записи объекта Recordset. |
Clone | Создает копию существующего Recordset. |
Close | Закрывает Recordset. |
CompareBookmarks | Сравнивает два маркера. |
Delete | Удаляет одну или несколько записей. |
Find | Ищет одну запись в Recordset, удовлетворяющую заданным условиям. |
GetRows | Копирует多条记录 из одного объекта Recordset в двумерный массив. |
GetString | Возвращает Recordset в виде строки. |
Move | Переносит указатель записи в Recordset. |
MoveFirst | Переносит указатель записи на первую запись. |
MoveLast | Переносит указатель записи на последнюю запись. |
MoveNext | Переносит указатель записи на следующую запись. |
MovePrevious | Переносит указатель записи на предыдущую запись. |
NextRecordset | Очищает текущий объект Recordset, выполняет серию команд и возвращает следующий Recordset. |
Open | Открывает элемент базы данных, который предоставляет доступ к записям таблицы, результатам запроса или сохраненному Recordset. |
Requery | Обновляет данные Recordset, повторно выполняя объект запроса, на котором он основан. |
Resync | Обновляет данные текущего Recordset из исходной базы данных. |
Save | Сохраняет объект Recordset в файл или объект Stream. |
Seek | Ищет индекс Recordset для быстрого нахождения строки, соответствующей указанному значению, и делает ее текущей. |
Supports | Возвращает булево значение, определяющее поддерживает ли Recordset объект специфический тип функции. |
Update | Сохраняет все изменения, внесенные в одно отдельное запись Recordset. |
UpdateBatch | Сохраняет все изменения, внесенные в Recordset, в базу данных. Используйте в режиме批-обновления. |
Событие
Примечание: Вы не можете обрабатывать события с помощью VBScript или JScript (события могут обрабатываться только на языках Visual Basic, Visual C++ и Visual J++).
Событие | Описание |
---|---|
EndOfRecordset | Активируется при попытке перейти к строке за концом Recordset. |
FetchComplete | Активируется после того, как все записи в асинхронной операции были прочитаны. |
FetchProgress | Регулярно активируется во время асинхронной операции, сообщая о том, сколько записей было прочитано. |
FieldChangeComplete | Активируется после изменения значения объекта Field. |
MoveComplete | Активируется после изменения текущего положения в Recordset. |
RecordChangeComplete | Активируется после изменения записи. |
RecordsetChangeComplete | Активируется после изменения Recordset. |
WillChangeField | Активируется до изменения значения объекта Field. |
WillChangeRecord | Активируется до изменения записи. |
WillChangeRecordset | Активируется до изменения Recordset. |
WillMove | Активируется до изменения текущего положения в Recordset. |
Сборник
Сборник | Описание |
---|---|
Fields | Указывает количество объектов Field в данном Recordset. |
Properties | Включает все объекты Property в всех Recordset. |
Свойства набора полей
Свойства | Описание |
---|---|
Count |
Возвращает количество элементов в наборе полей. Начинается с 0. Пример: countfields = rs.Fields.Count |
Item(named_item/number) |
Возвращает определенный элемент из набора полей. Пример: itemfields = rs.Fields.Item(1) или itemfields = rs.Fields.Item("Name") |
Свойства набора свойств
Свойства | Описание |
---|---|
Count |
Возвращает количество элементов в наборе свойств. Начинается с 0. Пример: countprop = rs.Properties.Count |
Item(named_item/number) |
Возвращает определенный элемент из набора свойств. Пример: itemprop = rs.Properties.Item(1) или itemprop = rs.Properties.Item("Name") |
- Предыдущая страница ADO Record
- Следующая страница ADO Stream