Свойство 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 поток ресурса, представляющего запись. Например, default поток может быть HTML-контентом корневой папки веб-сайта, автоматически предоставляемым при указании root 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 Пользователь может установить эту свойство.