Atributo Status de ADO

Definición y uso

El atributo Status puede devolver un FieldStatusEnum Valor, que indica el estado del objeto Field. El valor predeterminado es adFieldOK.

Si la actualización falla, se devolverá un error y el atributo Status indicará el valor combinado de la operación y el código de estado de error. El atributo Status de cada Field se puede utilizar para determinar la razón por la que el Field no se agregó, modificó o eliminó.

Los problemas al agregar, modificar o eliminar un Field se informarán a través de esta propiedad. Por ejemplo, si el usuario elimina un campo, se marcará como eliminado en la colección Fields. Si el llamado a Update devuelve un error debido a que el usuario intenta eliminar un Field que no tiene permiso para eliminar, el estado del campo será adFieldPermissionDenied o adFieldPendingDelete.

Sintaxis

objfield.Status

Instancia

<%
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
%>

Valor del enum FieldStatus

Constante Valor Descripción
adFieldOK 0 Predeterminado. Se indica que se ha agregado o eliminado con éxito el campo.
adFieldCantConvertValue 2 Se indica que no se puede recuperar o almacenar el campo sin perder datos.
adFieldIsNull 3 Se indica que el proveedor devolvió un valor Null.
adFieldTruncated 4 Se indica que al leer desde la fuente de datos, los datos de longitud variable se truncan.
adFieldSignMismatch 5 Se indica que el valor de datos devuelto por el proveedor tiene un signo, mientras que el tipo de datos del valor del campo ADO no tiene un signo.
adFieldDataOverflow 6 Se indica que los datos devueltos por el proveedor exceden el tipo de datos del campo.
adFieldCantCreate 7 Se indica que no se puede agregar el campo porque el proveedor ha superado los límites (como el número de campos permitidos).
adFieldUnavailable 8 Se indica que al leer desde la fuente de datos, el proveedor no puede determinar el valor. Por ejemplo, la fila recién creada, el valor predeterminado de la columna no se puede usar y aún no se ha especificado un nuevo valor.
adFieldPermissionDenied 9 Indica que debido a que el campo se ha definido como de solo lectura, no se puede modificar.
adFieldIntegrityViolation 10 Indica que debido a que este campo es un proyecto calculado o derivado, no se puede modificar.
adFieldSchemaViolation 11 Indica que el valor viola las restricciones del esquema de la fuente de datos del campo.
adFieldBadStatus 12 Indica que se envió un valor de estado inválido desde ADO al proveedor OLE DB. La razón puede ser el proveedor OLE DB 1.0 o 1.1, o una combinación inadecuada de Value y Status.
adFieldDefault 13 Indica que se ha utilizado el valor predeterminado del campo al establecer los datos.
adFieldIgnore 15 Indica que se ha omitido este campo al establecer el valor de datos en el origen. El proveedor no ha configurado ningún valor.
adFieldDoesNotExist 16 Indica que el campo especificado no existe.
adFieldInvalidURL 17 Indica que la URL de la fuente de datos contiene caracteres inválidos.
adFieldResourceLocked 18 Indica que el proveedor no puede realizar la operación porque la fuente de datos está bloqueada por una o más aplicaciones o procesos.
adFieldResourceExists 19 Indica que el proveedor no puede realizar la operación porque el objeto ya existe en la URL de destino y no puede ser sobrescrito.
adFieldCannotComplete 20 Indica que el servidor de la URL especificada por Source no puede completar la operación.
adFieldVolumeNotFound 21 Indica que el proveedor no puede localizar la cantidad de almacenamiento indicada por la URL.
adFieldOutOfSpace 22 Indica que el proveedor no puede obtener suficiente espacio de almacenamiento para completar la operación de movimiento o copia.
adFieldCannotDeleteSource 23 Indica que en la operación de movimiento, el árbol o subárbol se ha movido a una nueva ubicación, pero no se puede eliminar la fuente.
adFieldReadOnly 24 Indica que el campo en la fuente de datos se ha definido como de solo lectura.
adFieldResourceOutOfScope 25 Indica que la URL de origen o destino está fuera del rango del registro actual.
adFieldAlreadyExists 26 Indica que el campo especificado ya existe.
adFieldPendingInsert 0x10000 La operación Append indica que es necesario establecer el estado. Field se marca como agregado a la colección Fields después de llamar al método Update.
adFieldPendingDelete 0x20000 Indica que la operación Delete causó la necesidad de establecer el estado. El campo se marca para ser eliminado de la colección Fields después de llamar al método Update.
adFieldPendingChange 0x40000 Indica que el campo fue eliminado y luego vuelto a agregar (puede que el tipo de datos sea diferente) o indica que el valor del campo que tenía el estado adFieldOK ha sido cambiado. El formato final del campo se modificará en la colección Fields después de llamar al método Update.
adFieldPendingUnknown 0x80000 Indica que el proveedor no puede determinar qué operación causó la necesidad de establecer el estado.
adFieldPendingUnknownDelete 0x100000 Indica que el proveedor no puede determinar qué operación causó la necesidad de establecer el estado del campo, y que después de llamar al método Update, el campo se eliminará de la colección Fields.