Thuộc tính trạng thái ADO
❮ Tham chiếu đối tượng trường hoàn chỉnh
Thuộc tính Trạng thái trả về giá trị FieldStatusEnum cho biết trạng thái của đối tượng Trường. Giá trị mặc định là adFieldOK.
Nếu bất kỳ bản cập nhật nào không thành công thì lỗi sẽ được trả về và thuộc tính Trạng thái chỉ ra các giá trị kết hợp của hoạt động và mã trạng thái lỗi. Thuộc tính Trạng thái cho mỗi Trường có thể được sử dụng để xác định lý do tại sao Trường không được thêm, sửa đổi hoặc xóa.
Các vấn đề với việc thêm, sửa đổi hoặc xóa một Trường được báo cáo thông qua thuộc tính này. Ví dụ: nếu người dùng xóa một Trường, nó sẽ được đánh dấu để xóa trong bộ sưu tập Trường. Nếu lệnh gọi Cập nhật trả về lỗi do người dùng đã cố xóa Trường mà anh ta không có quyền, Trạng thái cho trường này sẽ là adFieldPermissionDenied hoặc adFieldPendingDelete.
Cú pháp
objfield.Status
Thí dụ
<%
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
%>
Giá trị FieldStatusEnum
Constant | Value | Description |
---|---|---|
adFieldOK | 0 | Default. The field was successfully added or deleted |
adFieldCantConvertValue | 2 | The field cannot be retrieved or stored without loss of data |
adFieldIsNull | 3 | The provider returned a null value |
adFieldTruncated | 4 | Variable-length data was truncated when reading from the data source |
adFieldSignMismatch | 5 | The data value returned by the provider was signed, but the data type of the ADO field value was unsigned |
adFieldDataOverflow | 6 | The data returned from the provider overflowed the data type of the field |
adFieldCantCreate | 7 | The field could not be added because the provider exceeded a limitation |
adFieldUnavailable | 8 | The provider could not determine the value when reading from the data source |
adFieldPermissionDenied | 9 | The field cannot be modified because it is read-only |
adFieldIntegrityViolation | 10 | The field cannot be modified because it is a calculated or derived entity |
adFieldSchemaViolation | 11 | The value violated the data source schema constraint for the field |
adFieldBadStatus | 12 | An invalid status value was sent from ADO to the OLE DB provider |
adFieldDefault | 13 | The default value for the field was used when setting data |
adFieldIgnore | 15 | This field was skipped when setting data values in the source |
adFieldDoesNotExist | 16 | The field does not exist |
adFieldInvalidURL | 17 | The data source URL contains invalid characters |
adFieldResourceLocked | 18 | The provider cannot perform the operation because the data source is locked |
adFieldResourceExists | 19 | The provider cannot perform the operation because an object already exists at the destination URL and it is not able to overwrite the object |
adFieldCannotComplete | 20 | The server of the URL specified by Source could not complete the operation |
adFieldVolumeNotFound | 21 | The provider is unable to locate the storage volume indicated by the URL |
adFieldOutOfSpace | 22 | The provider is unable to obtain enough storage space to complete a move or copy operation |
adFieldCannotDeleteSource | 23 | During a move operation, a tree or subtree was moved to a new location, but the source could not be deleted |
adFieldReadOnly | 24 | The field in the data source is read-only |
adFieldResourceOutOfScope | 25 | A source or destination URL is outside the scope of the current record |
adFieldAlreadyExists | 26 | The specified field already exists |
adFieldPendingInsert | 0x10000 | The Append operation caused the status to be set. The field has been marked to be added to the Fields collection after the Update method is called |
adFieldPendingDelete | 0x20000 | The Delete operation caused the status to be set. The field has been marked for deletion from the Fields collection after the Update method is called |
adFieldPendingChange | 0x40000 | The field has been deleted and then re-added or the value of the field which previously had a status of adFieldOK has changed |
adFieldPendingUnknown | 0x80000 | The provider cannot determine what operation caused field status to be set |
adFieldPendingUnknownDelete | 0x100000 | The provider cannot determine what operation caused field status to be set, and that the field will be deleted from the Fields collection after the Update method is called. |
❮ Tham chiếu đối tượng trường hoàn chỉnh