В этой статье в основном представлены подробные объяснения параметров метода adodb.recordset.open(rs.open). Друзья, нуждающиеся в этом, могут обратиться к нему.
Объект набора записей ADO
Объект ADO Recordset используется для хранения набора записей из таблицы базы данных. Объект Recordset состоит из записей и столбцов (полей).
В ADO этот объект является наиболее важным и наиболее часто используемым объектом для работы с данными в базе данных.
ПрогИД
set objRecordset=Server.CreateObject(ADODB.recordset)
Когда вы впервые открываете набор записей, указатель текущей записи будет указывать на первую запись, а свойства BOF и EOF будут иметь значение False. Если записей нет, свойства BOF и EOF имеют значение True.
Объекты набора записей могут поддерживать два типа обновлений:
Немедленное обновление. После вызова метода Update все изменения немедленно записываются в базу данных. Пакетное обновление. Поставщик кэширует несколько изменений, а затем передает эти изменения в базу данных с помощью метода UpdateBatch.
В ADO определены 4 различных типа курсоров (указателей):
•Динамические курсоры — позволяют просматривать добавления, изменения и удаления, сделанные другими пользователями.
• Курсор набора ключей — аналогичен динамическому курсору, за исключением того, что вы не можете видеть дополнения, внесенные другими пользователями, и он не позволяет вам получить доступ к записям, которые были удалены другими пользователями. Изменения данных, внесенные другими пользователями, по-прежнему видны.
• Статический курсор — предоставляет статическую копию набора записей, которую можно использовать для поиска данных или создания отчетов. Кроме того, добавления, изменения и удаления, сделанные другими пользователями, не будут видны. Это единственный тип курсора, разрешенный при открытии клиентского объекта Recordset.
•Только курсор вперед — разрешает только прокрутку вперед в наборе записей. Кроме того, добавления, изменения и удаления, сделанные другими пользователями, не будут видны.
Тип курсора можно задать с помощью свойства CursorType или параметра CursorType в методе Open.
Примечание. Не все поставщики поддерживают все методы и свойства объекта Recordset.
Друзья, которые хотят узнать больше об объектах ADO Recordset, могут перейти сюда и просмотреть дополнительный контент.
Если это просто чтение и не предполагает операций обновления, используйте 1, 1
Если речь идет о операциях чтения и обновления, вы можете использовать 1,3 или 3,2.
Прототип открытого метода объекта Recordset:
Открыть([Источник],[ActiveConnection],[CursorType],[LockType],[Параметры])
CursorType Тип курсора:
Конст адОпенфорвардонли = 0
Курсор вперед является курсором по умолчанию и обеспечивает максимальную производительность. Используйте его, чтобы открыть набор записей и получить все результаты по порядку от пары до конца. Он не поддерживает обратную прокрутку и допускает только одностороннее перемещение между результатами.
Константа adOpenKeyset = 1
Статический курсор отражает состояние данных в таблице при первом открытии курсора. Курсор не может определить, были ли строки данных в базовой таблице обновлены, удалены или добавлены новые данные. Однако, в отличие от курсоров континентов, которые могут перемещаться только вперед, статические курсоры могут прокручиваться между результатами вперед и назад.
Константа adOpenDynamic = 2
Курсоры, управляемые с помощью клавиатуры, могут запрашивать некоторые, но не все изменения в базовых строках данных в таблице. В частности, он точно отражает, были ли обновлены данные. Но он не может узнать, удалили ли другие пользователи строки данных (удаленные строки данных оставят дыры в наборе записей). Курсоры, управляемые с помощью клавиатуры, поддерживают прокрутку результатов вперед и назад.
Константное объявлениеOpenStatic = 3
Динамические курсоры — самый богатый тип курсоров. Когда курсор открыт, вы можете запросить любые изменения, внесенные в таблицу другими пользователями, и поддержать прокрутку.
Тип блокировки: Тип блокировки:
Конст адлокрекредонли = 1
Тип блокировки по умолчанию, блокировка только для чтения, позволяет нескольким пользователям одновременно читать одни и те же данные, но не может изменять данные.
Const adLockPessimistic = 2
Откройте объект данных с пессимистической блокировкой. Этот подход предполагает, что другие пользователи будут иметь доступ к данным, пока вы редактируете запись. На этом этапе, как только вы начнете редактировать запись, другие пользователи не смогут получить доступ к данным.
Конст adLockOptimistic = 3
Откройте объект данных, используя оптимистическую блокировку. Этот подход предполагает, что другие пользователи не будут иметь доступа к данным, пока вы редактируете запись. Другие пользователи не смогут получить доступ к записи, пока не будут внесены изменения.
Константа adLockBatchOptimistic = 4
Используйте этот тип при выполнении многострочных пакетных обновлений.
Параметры опций:
Параметр Options указывает тип командной строки, используемой для открытия набора записей. Сообщение информации ADO о содержимом исполняемой строки помогает эффективно выполнить командную строку.
adCMDTable. Выполняемая строка содержит имя таблицы.
adCMDText. Выполняемая строка содержит текст команды.
adCMDStoredProc. Выполняемая строка содержит имя хранимой процедуры.
adCMDUUnknown. Содержимое строки не указано. (Это значение по умолчанию.)
Проще говоря:
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY (=0) доступен только для чтения, и текущую запись данных можно перемещать только вниз.
ADOPENSTATIC (=3) только для чтения, текущую запись данных можно свободно перемещать
ADOPENKEYSET(=1) можно читать и записывать, а текущую запись данных можно свободно перемещать.
ADOPENDYNAMIC(=2) можно читать и записывать, текущую запись данных можно свободно перемещать и можно просматривать новые записи.
B: значение по умолчанию ADLOCKREADONLY(=1), используется для открытия записей, доступных только для чтения.
ADLOCKPESSIMISTIC(=2) пессимистическая блокировка
ADLOCKOPTIMISTIC(=3) оптимистическая блокировка
ADLOCKBATCHOPTIMISTIC(=4) пакетная оптимистическая блокировка