Атрибут Attributes в ADO

Определение и использование

Атрибут Attributes может устанавливать или возвращать Long значение, которое может указывать на одно или несколько свойств объекта.

Комментарий:При установке нескольких свойств можно сложить соответствующие константы. Если значение свойства установлено как сумма включающих несовместимые констант, произойдет ошибка.

Объект Описание атрибута Attributes
Connection Атрибут Attributes имеет права на чтение и запись для объекта Connection. И его значение может быть одним или несколькими XactAttributeEnum Сумма значений. По умолчанию значение ноль (0).
Parameter Атрибут Attributes имеет права на чтение и запись для объекта Parameter. И его значение может быть любым одним или несколькими ParameterAttributesEnum Сумма значений. По умолчанию значение adParamSigned.
Field Когда атрибут Attributes используется для создания Recordset, у него есть права на чтение и запись, но когда вы открываете существующий Recordset, он является только для чтения. Атрибут Attributes может быть одним или несколькими FieldAttributeEnum Сумма значений.
Property Для объекта Property, атрибут Attributes является только для чтения. И его значение может быть любым одним или несколькими PropertyAttributesEnum Сумма значений.

Синтаксис

object.Attributes

Пример

Для объекта Connection:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
response.write(conn.Attributes)
conn.close
%>

Для объекта Field:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from orders", conn
set f=Server.CreateObject("ADODB.Field")
Отображать атрибуты полей таблицы Orders
for each f in rs.Fields
  response.write("Attr:" & f.Attributes & "<br />")
  response.write("Name:" & f.Name & "<br />")
  response.write("Value:" & f.Value & "<br />")
Next
rs.Close
conn.close
set rs=nothing
set conn=nothing
%>

Для объекта Property:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from orders", conn
set prop=Server.CreateObject("ADODB.Property")
Отображать атрибуты свойств таблицы Orders
for each prop in rs.Properties
  response.write("Attr:" & prop.Attributes & "<br />")
  response.write("Name:" & prop.Name & "<br />")
  response.write("Value:" & prop.Value & "<br />")
next
rs.close
conn.close
set rs=nothing
set conn=nothing
%>

Значение XactAttributeEnum

Константа Значение Описание
adXactAbortRetaining 262144 При вызове RollbackTrans автоматически запускается новый транзакция.
adXactCommitRetaining 131072 Автоматически запускает новую транзакцию при вызове CommitTrans.

Значения ParameterAttributesEnum

Константа Значение Описание
adParamSigned 16 Этот параметр принимает знаковые значения.
adParamNullable 64 Этот параметр принимает значения Null.
adParamLong 128 Этот параметр принимает данные длинного байнового типа.

Значения FieldAttributeEnum

Константа Значение Описание
adFldCacheDeferred 0x1000 Указывает, что провайдер кэширует значения段 и указывает на чтение из кэша.
adFldFixed 0x10 Указывает, что этот段 содержит данные фиксированной длины.
adFldIsChapter 0x2000 Указывает, что этот段 содержит значение подмножества, определяющее специфический набор подзаписей, связанных с этим родительским段ом. Обычно подмножественные段 используются вместе с构турной или фильтрационной данными.
adFldIsCollection 0x40000 Этот段 определяет, что ресурс, представляющий запись, является集合ом других ресурсов (например, папкой), а не простым ресурсом (например, текстовый файл).
adFldIsDefaultStream 0x20000 Этот段 содержит default stream ресурсов, представляющих записи. Например, default stream может быть HTML-контентом корневой папки веб-сайта, автоматически предоставляемым при указании корневого URL.
adFldIsNullable 0x20 Этот段 принимает значения Null.
adFldIsRowURL 0x10000 Этот段 содержит URL, который определяет ресурс данных в хранилище записи.
adFldKeyColumn 0x8000 Этот段 является PRIMARY KEY базового набора строк. Также указывает на то, что этот段 является частью составного PRIMARY KEY.
adFldLong 0x80 Этот段 является длинным байновым段ом. Также указывает на возможность использования методов AppendChunk и GetChunk.
adFldMayBeNull 0x40 Из этого段 можно прочитать значение Null.
adFldMayDefer 0x2 Этот段 отложен, что означает, что значение этого段 не извлекается вместе с целым записью из источника данных, а только при их явном доступе.
adFldNegativeScale 0x4000 Этот段 представляет числовое значение из столбца, поддерживающего отрицательные значения диапазона. Диапазон определяется свойством NumericScale.
adFldRowID 0x100 Этот段 содержит идентификатор постоянства, который не может быть записан и не имеет никакого значения кроме идентификации строки, например, номер записи, уникальный идентификатор и т.д.
adFldRowVersion 0x200 Это поле содержит某种 время или дату штампа для отслеживания обновлений.
adFldUnknownUpdatable 0x8 Провайдер не может определить, может ли пользователь写入 поле.
adFldUnspecified
  • -1
  • 0xFFFFFFFF
Провайдер не указал атрибуты поля.
adFldUpdatable 0x4 Пользователь может写入 поле.

Значения PropertyAttributesEnum

Константа Значение Описание
adPropNotSupported 0 Провайдер не поддерживает это свойство.
adPropRequired 1 Пользователь обязан указать значение этого свойства до инициализации источника данных.
adPropOptional 2 Пользователь не обязан указывать значение этого свойства до инициализации источника данных.
adPropRead 512 Пользователь может читать это свойство.
adPropWrite 1024 Пользователь может установить это свойство.