Свойство 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. |