Свойство Status ADO

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

Свойство Status может возвращать FieldStatusEnum Значение, указывающее состояние объекта Field. Значением по умолчанию является adFieldOK.

Если обновление не удалось, будет возвращена ошибка, и свойство Status будет указывать на комбинированное значение операции и код состояния ошибки. Свойство Status каждого Field может быть использовано для определения причины, по которой Field не был добавлен, изменен или удален.

Проблемы с добавлением, изменением или удалением поля будут сообщены через этот атрибут. Например, если пользователь удаляет поле, оно будет помечено как удаленное в集合е Fields. Если вызов Update вернет ошибку из-за попытки пользователя удалить поле, для которого у него нет прав доступа, статус поля будет adFieldPermissionDenied или adFieldPendingDelete.

Синтаксис

objfield.Status

Пример

<%
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
response.write(rs.Fields(0).Status)
rs.Close
conn.close
%>

Worth of FieldStatusEnum

Константа Значение Описание
adFieldOK 0 Default. Указывает, что поле успешно добавлено или удалено.
adFieldCantConvertValue 2 Указывает, что данные не могут быть извлечены или сохранены без потери данных.
adFieldIsNull 3 Указывает, что поставщик вернул значение Null.
adFieldTruncated 4 Указывает, что при чтении данных из источника данных переменная длина данных была обрезана.
adFieldSignMismatch 5 Указывает, что значение данных, возвращаемое поставщиком, имеет знак, в то время как тип данных значения поля ADO не имеет знака.
adFieldDataOverflow 6 Указывает, что данные, возвращаемые поставщиком, выходят за пределы типа данных поля.
adFieldCantCreate 7 Указывает, что данное поле не может быть добавлено, так как поставщик exceeded ограничения (например, количество разрешенных полей).
adFieldUnavailable 8 Указывает, что при чтении данных из источника данных поставщик не может определить значение. Например, строка только что была создана, и использовать значение по умолчанию для столбца невозможно, и еще не было указано новое значение.
adFieldPermissionDenied 9 Указывает, что поле определено как только для чтения и поэтому его нельзя изменить.
adFieldIntegrityViolation 10 Указывает, что поле является вычисляемым или производным элементом и поэтому его нельзя изменить.
adFieldSchemaViolation 11 Указывает, что значение нарушает ограничения схемы источника данных поля.
adFieldBadStatus 12 Указывает, что отправлен недопустимый статус в провайдеру ADO. Причина может быть провайдером OLE DB 1.0 или 1.1, или неадекватным сочетанием Value и Status.
adFieldDefault 13 Указывает, что при установке данных использован default значение поля.
adFieldIgnore 15 Указывает, что при установке значения данных в исходнике это поле было пропущено. Провайдер не установил ningún valor.
adFieldDoesNotExist 16 Указывает, что указанное поле не существует.
adFieldInvalidURL 17 Указывает, что URL источника данных содержит недопустимые символы.
adFieldResourceLocked 18 Указывает, что провайдер не может выполнить операцию, так как данные источника заблокированы одним или несколькими другими приложениями или процессами.
adFieldResourceExists 19 Указывает, что провайдер не может выполнить операцию, так как объект уже существует в целевом URL и не может быть перезаписан.
adFieldCannotComplete 20 Указывает, что сервер, указанный URL источника, не может выполнить операцию.
adFieldVolumeNotFound 21 Указывает, что провайдер не может определить объем, указанный URL.
adFieldOutOfSpace 22 Указывает, что провайдер не может получить достаточное количество места для выполнения операции перемещения или копирования.
adFieldCannotDeleteSource 23 Указывает, что при операции перемещения дерево или поддерево было перемещено в новое положение, но исходный объект не может быть удален.
adFieldReadOnly 24 Указывает, что поле в источнике данных определено как только для чтения.
adFieldResourceOutOfScope 25 Указывает, что источник или целевая URL выходит за пределы текущего диапазона записи.
adFieldAlreadyExists 26 Указывает, что указанное поле уже существует.
adFieldPendingInsert 0x10000 Указывает, что операция Append требует установки состояния. Поле помечено как добавленное в набор Fields после вызова метода Update.
adFieldPendingDelete 0x20000 Указывает на то, что операция Delete привела к необходимости установки состояния. Данное поле будет помечено на удаление из коллекции Fields после вызова метода Update.
adFieldPendingChange 0x40000 Указывает на то, что поле было удалено и затем повторно добавлено (возможно, с отличным типом данных) или указывает на то, что значение поля, которое ранее имело состояние adFieldOK, было изменено. Финальный формат поля будет изменен в коллекции Fields после вызова метода Update.
adFieldPendingUnknown 0x80000 Указывает на то, что провайдер не может определить, какая операция привела к необходимости установки состояния.
adFieldPendingUnknownDelete 0x100000 Указывает на то, что провайдер не может определить, какая операция привела к необходимости установки состояния поля, и что после вызова метода Update данное поле будет удалено из коллекции Fields.