Thuộc tính Status của ADO

Định nghĩa và cách sử dụng

Thuộc tính Status có thể trả về một FieldStatusEnum Giá trị, giá trị này chỉ ra trạng thái của đối tượng Field. Giá trị mặc định là adFieldOK.

Nếu việc cập nhật thất bại, sẽ trả về lỗi và thuộc tính Status sẽ chỉ ra giá trị kết hợp của hoạt động và mã trạng thái lỗi. Mỗi thuộc tính Field đều có thể được sử dụng để xác định nguyên nhân tại sao Field đó không được thêm, sửa đổi hoặc xóa.

Vấn đề thêm, sửa hoặc xóa Field sẽ được báo cáo 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 tập hợp Fields. Nếu do người dùng cố gắng xóa Field mà họ không có quyền xóa, việc gọi Update trả về lỗi, thì trạng thái của trường sẽ là adFieldPermissionDenied hoặc adFieldPendingDelete.

Cú pháp

objfield.Status

Mẫu

<%
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ị của FieldStatusEnum

Thường số Giá trị Mô tả
adFieldOK 0 Mặc định. Hướng dẫn đã thành công trong việc thêm hoặc xóa trường này.
adFieldCantConvertValue 2 Hướng dẫn không thể truy xuất hoặc lưu trữ trường này mà không bị mất dữ liệu.
adFieldIsNull 3 Hướng dẫn cung cấp đã trả về giá trị Null.
adFieldTruncated 4 Hướng dẫn dữ liệu dài biến đổi bị cắt ngắn khi đọc từ nguồn dữ liệu.
adFieldSignMismatch 5 Hướng dẫn giá trị dữ liệu trả về bởi cung cấp có dấu, trong khi loại dữ liệu giá trị của trường ADO không có dấu.
adFieldDataOverflow 6 Hướng dẫn từ dữ liệu trả về của cung cấp đã vượt quá loại dữ liệu của trường.
adFieldCantCreate 7 Hướng dẫn vì cung cấp đã vượt quá giới hạn (như số lượng trường được phép), không thể thêm trường này.
adFieldUnavailable 8 Hướng dẫn từ nguồn dữ liệu, cung cấp không thể xác định giá trị. Ví dụ, hàng vừa được tạo, giá trị mặc định của cột không thể sử dụng và chưa có giá trị mới được chỉ định.
adFieldPermissionDenied 9 Chỉ thị rằng vì trường được định nghĩa là chỉ đọc, nên không thể thay đổi.
adFieldIntegrityViolation 10 Chỉ thị rằng vì trường là mục tính toán hoặc được tạo ra, nên không thể thay đổi.
adFieldSchemaViolation 11 Chỉ thị rằng giá trị vi phạm các hạn chế mô hình nguồn dữ liệu của trường.
adFieldBadStatus 12 Chỉ thị rằng đã gửi giá trị trạng thái không hợp lệ từ ADO đến nhà cung cấp OLE DB. Nguyên nhân có thể là nhà cung cấp OLE DB 1.0 hoặc 1.1, hoặc là sự kết hợp của Value và Status không đúng.
adFieldDefault 13 Chỉ thị rằng trong việc thiết lập dữ liệu đã sử dụng giá trị mặc định của trường.
adFieldIgnore 15 Chỉ thị rằng trong việc thiết lập giá trị dữ liệu trong nguồn, trường này được bỏ qua. Nhà cung cấp không thiết lập bất kỳ giá trị nào.
adFieldDoesNotExist 16 Chỉ thị rằng trường đã chỉ định không tồn tại.
adFieldInvalidURL 17 Chỉ thị rằng URL nguồn dữ liệu chứa ký tự không hợp lệ.
adFieldResourceLocked 18 Chỉ thị rằng vì nguồn dữ liệu bị một hoặc nhiều ứng dụng hoặc tiến trình khác khóa, nên nhà cung cấp không thể thực hiện hoạt động.
adFieldResourceExists 19 Chỉ thị rằng vì đối tượng đã tồn tại trong URL đích và không thể được ghi đè, nên nhà cung cấp không thể thực hiện hoạt động.
adFieldCannotComplete 20 Chỉ thị rằng máy chủ không thể hoàn thành hoạt động do URL được chỉ định bởi Source.
adFieldVolumeNotFound 21 Chỉ thị rằng nhà cung cấp không thể định vị lưu lượng lưu trữ được chỉ định bởi URL.
adFieldOutOfSpace 22 Chỉ thị rằng nhà cung cấp không thể nhận đủ không gian lưu trữ để hoàn thành hoạt động di chuyển hoặc sao chép.
adFieldCannotDeleteSource 23 Chỉ thị rằng trong hoạt động di chuyển, cây hoặc cành con được di chuyển đến vị trí mới, nhưng nguồn không thể được xóa.
adFieldReadOnly 24 Chỉ thị rằng trường trong nguồn dữ liệu được định nghĩa là chỉ đọc.
adFieldResourceOutOfScope 25 Chỉ thị rằng URL nguồn hoặc đích đã vượt quá phạm vi của bản ghi hiện tại.
adFieldAlreadyExists 26 Chỉ thị rằng trường đã chỉ định đã tồn tại.
adFieldPendingInsert 0x10000 Chỉ thị 操作 Append gây ra cần thiết thiết lập trạng thái. Field được đánh dấu thêm vào bộ Fields sau khi gọi phương thức Update.
adFieldPendingDelete 0x20000 Chỉ ra rằng hành động Xóa gây ra việc cần thiết để thiết lập trạng thái. Trường này được đánh dấu để xóa khỏi tập hợp Fields sau khi gọi phương thức Update.
adFieldPendingChange 0x40000 Chỉ ra rằng trường này đã bị xóa và sau đó được thêm lại (thậm chí có thể khác về loại dữ liệu), hoặc chỉ ra rằng giá trị của trường có trạng thái adFieldOK trước đó đã được thay đổi. Hình thức cuối cùng của trường sẽ được thay đổi trong tập hợp Fields sau khi gọi phương thức Update.
adFieldPendingUnknown 0x80000 Chỉ ra rằng nhà cung cấp không thể xác định được哪一个是 gây ra việc cần thiết để thiết lập trạng thái.
adFieldPendingUnknownDelete 0x100000 Chỉ ra rằng nhà cung cấp không thể xác định được哪一个是 gây ra việc cần thiết để thiết lập trạng thái trường, và sau khi gọi phương thức Update, trường này sẽ bị xóa khỏi tập hợp Fields.