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