ADO Status-attribut

Definition och användning

Status-attributet kan returnera en FieldStatusEnum Värde, som indikerar tillståndet för Field-objektet. Standardvärdet är adFieldOK.

Om uppdateringen misslyckas kommer ett fel att returneras, och Status-attributet kommer att indikera kombinationsvärdet och felstatuskoden för den aktuella operationen. Status-attributet för varje Field kan användas för att fastställa varför Field inte har lagts till, ändrats eller raderats.

Problem med att lägga till, ändra eller ta bort ett fält rapporteras genom denna egenskap. Exempelvis, om en användare tar bort ett fält, kommer det att markeras som borttaget i Fields-kollektionen. Om en uppdateringsanrop returnerar ett fel på grund av att användaren försöker ta bort ett fält som de inte har behörighet att ta bort, kommer fältets Status att vara adFieldPermissionDenied eller adFieldPendingDelete.

Syntax

objfield.Status

Exempel

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

FieldStatusEnum-värde

Konstant Värde Beskrivning
adFieldOK 0 Standard. Indikerar att fältet har lagts till eller tagits bort framgångsrikt.
adFieldCantConvertValue 2 Indikerar att det inte är möjligt att hämta eller lagra fältet utan att förlora data.
adFieldIsNull 3 Indikerar att leverantören returnerade ett Null-värde.
adFieldTruncated 4 Indikerar att variabelbredd data har avkortats vid läsning från datakällan.
adFieldSignMismatch 5 Indikerar att datavärdet returnerat av leverantören är teckenbärande, medan ADO-fältets datatyp inte är teckenbärande.
adFieldDataOverflow 6 Indikerar att data som returneras av leverantören överstiger fältets datatyp.
adFieldCantCreate 7 Indikerar att det inte är möjligt att lägga till fältet eftersom leverantören har överskridit begränsningen (t.ex. det tillåtna antalet fält).
adFieldUnavailable 8 Indikerar att leverantören inte kan fastställa värdet vid läsning från datakällan. Till exempel, har raden just skapats, standardvärdet för kolumnen kan inte användas och inget nytt värde har specificerats.
adFieldPermissionDenied 9 Indikerar att fältet inte kan ändras eftersom det är definierat som skrivskyddat.
adFieldIntegrityViolation 10 Indikerar att fältet inte kan ändras eftersom det är ett beräknat eller deduktivt projekt.
adFieldSchemaViolation 11 Indikerar att värdet bryter mot datorkällans fältmönsterbegränsningar.
adFieldBadStatus 12 Indikerar att ett ogiltigt statusvärde har skickats från ADO till OLE DB-leverantören. Orsaken kan vara en OLE DB 1.0 eller 1.1-leverantör, eller att kombinationen av Value och Status inte är lämplig.
adFieldDefault 13 Indikerar att det användes fältets standardvärde vid inställning av data.
adFieldIgnore 15 Indikerar att detta fält har hoppats över vid inställning av datavärden i källan. Leverantören har inte satt någon värde.
adFieldDoesNotExist 16 Indikerar att det specificerade fältet inte finns.
adFieldInvalidURL 17 Indikerar att URL:en för datorkällan innehåller ogiltiga tecken.
adFieldResourceLocked 18 Indikerar att leverantören inte kan utföra operationen eftersom datorkällan är låst av en eller flera andra applikationer eller processer.
adFieldResourceExists 19 Indikerar att leverantören inte kan utföra operationen eftersom objektet redan finns på måls URL:en och kan inte överskrivas.
adFieldCannotComplete 20 Indikerar att servern som specificeras av URL:en från Source kan inte slutföra operationen.
adFieldVolumeNotFound 21 Indikerar att leverantören inte kan lokalisera den lagringsmängd som indikeras av URL:en.
adFieldOutOfSpace 22 Indikerar att leverantören inte kan få tillräckligt med lagringsutrymme för att slutföra flytt- eller kopioperations.
adFieldCannotDeleteSource 23 Indikerar att trädet eller underträdet har flyttats till en ny plats under flyttoperationen, men källan kan inte raderas.
adFieldReadOnly 24 Indikerar att fältet i datorkällan är definierat som skrivskyddat.
adFieldResourceOutOfScope 25 Indikerar att käll- eller måls URL:en ligger utanför rådet för den aktuella posten.
adFieldAlreadyExists 26 Indikerar att det specificerade fältet redan finns.
adFieldPendingInsert 0x10000 Indikerar att append-operatonen kräver att status måste sättas. Field är markerad som tillagd till Fields-kollektionen efter att metoden Update har anropats.
adFieldPendingDelete 0x20000 Indikerar att Delete-operationen orsakade behovet av att ställa in status. Fältet markeras för att tas bort från Fields-kollektionen efter att Update-metoden har anropats.
adFieldPendingChange 0x40000 Indikerar att fältet har tagits bort och sedan återlagts (kan ha annan datatyp) eller att värdet för ett fält som tidigare hade adFieldOK-status har ändrats. Fältets slutliga format kommer att ändras i Fields-kollektionen efter att Update-metoden har anropats.
adFieldPendingUnknown 0x80000 Indikerar att leverantören inte kan fastställa vilken operation som orsakade behovet av att ställa in status.
adFieldPendingUnknownDelete 0x100000 Indikerar att leverantören inte kan fastställa vilken operation som orsakade behovet av att ställa in fältstatus, och att fältet kommer att tas bort från Fields-kollektionen efter att Update-metoden har anropats.