Atributo Status do ADO

Definição e uso

O atributo Status pode retornar um FieldStatusEnum Valor, que indica o estado do objeto Field. O valor padrão é adFieldOK.

Se a atualização falhar, será retornado um erro e o atributo Status indicará o valor combinado da operação e o código de estado de erro. O atributo Status de cada Field pode ser usado para determinar o motivo pelo qual o Field não foi adicionado, modificado ou removido.

Problemas ao adicionar, modificar ou excluir um Field são relatados por essa propriedade. Por exemplo, se o usuário excluir um campo, ele será marcado como excluído no conjunto Fields. Se o chamada Update retornar erro devido ao usuário tentar excluir um Field que não tem permissão para excluir, o Status do campo será adFieldPermissionDenied ou adFieldPendingDelete.

Sintaxe

objfield.Status

Instância

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

Constante Valor Descrição
adFieldOK 0 Padrão. A indicação de que o campo foi adicionado ou removido com sucesso.
adFieldCantConvertValue 2 A indicação de que não é possível recuperar ou armazenar o campo sem perda de dados.
adFieldIsNull 3 A indicação de que o provedor retornou um valor Null.
adFieldTruncated 4 A indicação de que os dados variáveis lidos da fonte de dados foram truncados.
adFieldSignMismatch 5 A indicação de que o valor de dados retornado pelo provedor é assinado, enquanto o tipo de dados do valor do campo ADO não é assinado.
adFieldDataOverflow 6 A indicação de que os dados retornados pelo provedor excedem o tipo de dados do campo.
adFieldCantCreate 7 A indicação de que não pode adicionar o campo porque o provedor excedeu os limites (como o número de campos permitidos).
adFieldUnavailable 8 A indicação de que, ao ler dados da fonte de dados, o provedor não pode determinar o valor. Por exemplo, a linha foi recém-criada, o valor padrão da coluna não pode ser usado e ainda não foi especificado um novo valor.
adFieldPermissionDenied 9 Indica que, devido ao campo ser definido como somente leitura, não pode ser modificado.
adFieldIntegrityViolation 10 Indica que, devido ao campo ser um item calculado ou derivado, não pode ser modificado.
adFieldSchemaViolation 11 Indica que o valor viola os limites do esquema do campo no fonte de dados.
adFieldBadStatus 12 Indica que foi enviado um valor de estado inválido do ADO para o provedor do OLE DB. A razão pode ser provedor do OLE DB 1.0 ou 1.1, ou uma combinação inadequada de Value e Status.
adFieldDefault 13 Indica que, ao definir os dados, foi usado o valor padrão do campo.
adFieldIgnore 15 Indica que, ao definir o valor de dados no origem, este campo foi ignorado. O provedor não configurou nenhum valor.
adFieldDoesNotExist 16 Indica que o campo especificado não existe.
adFieldInvalidURL 17 Indica que a URL do fonte de dados contém caracteres inválidos.
adFieldResourceLocked 18 Indica que o provedor não pode executar a operação devido ao bloqueio do fonte de dados por um ou mais aplicativos ou processos.
adFieldResourceExists 19 Indica que, devido ao objeto já existir no URL de destino e não poder ser substituído, o provedor não pode executar a operação.
adFieldCannotComplete 20 Indica que o servidor indicado pela URL de origem não pode concluir a operação.
adFieldVolumeNotFound 21 Indica que o provedor não pode localizar a quantidade de armazenamento indicada pela URL.
adFieldOutOfSpace 22 Indica que o provedor não pode obter espaço de armazenamento suficiente para concluir a operação de movimentação ou cópia.
adFieldCannotDeleteSource 23 Indica que, na operação de movimentação, a árvore ou subárvore foi movida para uma nova posição, mas a origem não pode ser excluída.
adFieldReadOnly 24 Indica que o campo no fonte de dados é definido como somente leitura.
adFieldResourceOutOfScope 25 Indica que a URL de origem ou destino está fora do escopo do registro atual.
adFieldAlreadyExists 26 Indica que o campo especificado já existe.
adFieldPendingInsert 0x10000 A operação Append indica a necessidade de configurar o estado. O campo é marcado para ser adicionado ao conjunto Fields após a chamada do método Update.
adFieldPendingDelete 0x20000 Indica que a operação Delete causou a necessidade de configurar o estado. O campo é marcado para ser removido do conjunto Fields após a chamada do método Update.
adFieldPendingChange 0x40000 Indica que o campo foi excluído e novamente adicionado (possivelmente com tipo de dados diferente) ou que o valor do campo que anteriormente tinha o estado adFieldOK foi alterado. O formato final do campo será modificado no conjunto Fields após a chamada do método Update.
adFieldPendingUnknown 0x80000 Indica que o provedor não pode determinar qual operação causou a necessidade de configurar o estado.
adFieldPendingUnknownDelete 0x100000 Indica que o provedor não pode determinar qual operação causou a necessidade de configurar o estado do campo, e que, após a chamada do método Update, o campo será removido do conjunto Fields.