ADO Status-egenskab
Definition og brug
Status-egenskaben kan returnere en FieldStatusEnum Værdi, der indikerer tilstanden af Field-objektet. Standardværdien er adFieldOK.
Hvis opdateringen fejler, vil der returneres en fejl, og Status-egenskaben vil indikere kombinationsværdien og fejlstatuskoden for operationen. Status-egenskaben for hver Field kan bruges til at bestemme årsagen til, hvorfor feltet ikke blev tilføjet, ændret eller slettet.
Problemer med at tilføje, ændre eller slette et felt rapporteres gennem denne egenskab. For eksempel, hvis en bruger sletter et felt, vil det blive markeret som slettet i Fields-samlingen. Hvis en Update-kald returnerer en fejl, fordi brugeren forsøger at slette et felt, som de ikke har tilladelse til at slette, vil feltets Status være adFieldPermissionDenied eller adFieldPendingDelete.
Syntaks
objfield.Status
Eksempel
<% 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ærdi
Konstant | Værdi | Beskrivelse |
---|---|---|
adFieldOK | 0 | Standard. Indikerer, at feltet er blevet tilføjet eller fjernet med succes. |
adFieldCantConvertValue | 2 | Indikerer, at det ikke er muligt at hente eller gemme feltet uden at miste data. |
adFieldIsNull | 3 | Indikerer, at leverandøren returnerede en Null-værdi. |
adFieldTruncated | 4 | Indikerer, at variabel længde data er afkortet ved læsning fra datakilden. |
adFieldSignMismatch | 5 | Indikerer, at dataværdien returneret af leverandøren er med tegn, mens ADO-feltets datatypen ikke er med tegn. |
adFieldDataOverflow | 6 | Indikerer, at data fra leverandøren overskrider feltets datatypen. |
adFieldCantCreate | 7 | Indikerer, at feltet ikke kan tilføjes, fordi leverandøren har overskredet begrænsningen (f.eks. det tilladte antal felter). |
adFieldUnavailable | 8 | Indikerer, at leverandøren ikke kan bestemme værdien ved læsning fra datakilden. For eksempel, når rækken netop er blevet oprettet, kan standardværdien for kolonnen ikke bruges, og ingen ny værdi er blevet specificeret. |
adFieldPermissionDenied | 9 | Indikerer, at feltet er defineret som skrivebeskyttet og kan ikke ændres. |
adFieldIntegrityViolation | 10 | Indikerer, at feltet er beregnings- eller afledt og kan ikke ændres. |
adFieldSchemaViolation | 11 | Indikerer, at værdien krænker datakildens skemaets begrænsninger. |
adFieldBadStatus | 12 | Indikerer, at en ugyldig statusværdi blev sendt fra ADO til OLE DB-udbyderen. Årsagen kan være en OLE DB 1.0 eller 1.1-udbyder, eller at kombinationen af Value og Status er forkert. |
adFieldDefault | 13 | Indikerer, at feltets standardværdi blev brugt ved at sætte data. |
adFieldIgnore | 15 | Indikerer, at dette felt springes over ved at sætte dataværdier i kilden. Udbyderen har ikke sat nogen værdi. |
adFieldDoesNotExist | 16 | Indikerer, at det specificerede felt ikke eksisterer. |
adFieldInvalidURL | 17 | Indikerer, at datakilden URL'en indeholder ugyldige tegn. |
adFieldResourceLocked | 18 | Indikerer, at datakilden er låst af en eller flere andre programmer eller processer, så udbyderen ikke kan udføre operationen. |
adFieldResourceExists | 19 | Indikerer, at operationen ikke kan udføres, fordi objektet allerede eksisterer i mål-URL'en og kan ikke erstattes. |
adFieldCannotComplete | 20 | Indikerer, at serveren med URL'en specificeret af Source ikke kan fuldføre operationen. |
adFieldVolumeNotFound | 21 | Indikerer, at udbyderen ikke kan定位 URL'en, der indikerer lagermængden. |
adFieldOutOfSpace | 22 | Indikerer, at udbyderen ikke kan få nok lagerplads til at fuldføre flytte- eller kopieringsoperationen. |
adFieldCannotDeleteSource | 23 | Indikerer, at træet eller undertræet er flyttet til en ny placering i en flytteoperation, men kilden kan ikke slettes. |
adFieldReadOnly | 24 | Indikerer, at feltet i datakilden er defineret som skrivebeskyttet. |
adFieldResourceOutOfScope | 25 | Indikerer, at kilde- eller mål-URL'en er uden for rækkevidden af det aktuelle register. |
adFieldAlreadyExists | 26 | Indikerer, at det specificerede felt allerede eksisterer. |
adFieldPendingInsert | 0x10000 | Indikerer, at Append-operation kræver at sætte status. Field er markeret som tilføjet til Fields-samlingen efter kald af Update-metoden. |
adFieldPendingDelete | 0x20000 | Indikerer, at Delete-operationen har forårsaget behovet for at sætte status. Feltet er markeret til at blive fjernet fra Fields samlingen efter kald af Update-metoden. |
adFieldPendingChange | 0x40000 | Indikerer, at feltet er blevet slettet og derefter genoprettet (muligvis med en anden datatype), eller at værdien af et felt, der tidligere havde adFieldOK status, er blevet ændret. Feltets endelige format vil blive ændret i Fields samling efter kald af Update-metoden. |
adFieldPendingUnknown | 0x80000 | Indikerer, at leverandøren ikke kan bestemme, hvilken operation der forårsagede behovet for at sætte status. |
adFieldPendingUnknownDelete | 0x100000 | Indikerer, at leverandøren ikke kan bestemme, hvilken operation der forårsagede behovet for at sætte feltets tilstand, og at feltet vil blive fjernet fra Fields samlingen efter kald af Update-metoden. |