Ιδιότητα Status του ADO
Ορισμός και χρήση
Η ιδιότητα Status μπορεί να επιστρέψει ένα FieldStatusEnum Τιμή, η οποία δείχνει την κατάσταση του αντικειμένου Field. Η προεπιλεγμένη τιμή είναι adFieldOK.
Αν η ενημέρωση αποτύχει, θα επιστρέψει σφάλμα και η ιδιότητα Status θα δείχνει την συνδυαστική τιμή της λειτουργίας και τον κώδικα κατάστασης σφάλματος. Η ιδιότητα Status κάθε Field μπορεί να χρησιμοποιηθεί για να καθορίσει το λόγο για το οποίο το Field δεν προστέθηκε, τροποποιήθηκε ή διαγράφηκε.
Προβλήματα προσθήκης, τροποποίησης ή διαγραφής ενός πεδίου θα αναφερθούν μέσω αυτής της ιδιότητας. Για παράδειγμα, αν ο χρήστης διαγράψει ένα πεδίο, θα σημειωθεί ως διαγραμμένο στο σύνολο των πεδίων. Αν η κλήση Update επιστρέψει σφάλμα επειδή ο χρήστης προσπάθησε να διαγράψει ένα πεδίο που δεν έχει δικαίωμα διαγραφής, η κατάσταση του πεδίου θα είναι adFieldPermissionDenied ή adFieldPendingDelete.
Γραμματική
objfield.Status
Παράδειγμα
<% 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
Σταθερή τιμή | Τιμή | Περιγραφή |
---|---|---|
adFieldOK | 0 | Προεπιλεγμένο. Η οδηγία υποδηλώνει ότι το πεδίο προστέθηκε ή αφαιρέθηκε επιτυχώς. |
adFieldCantConvertValue | 2 | Η οδηγία υποδηλώνει ότι δεν μπορεί να ανακτηθεί ή να αποθηκευτεί το πεδίο χωρίς να χάσει δεδομένα. |
adFieldIsNull | 3 | Η οδηγία υποδηλώνει ότι ο παρέχων επιστρέφει τιμή Null. |
adFieldTruncated | 4 | Η οδηγία υποδηλώνει ότι η μεταβλητή μήκους μεταβάλλεται κατά τη διάρκεια της ανάγνωσης από την πηγή δεδομένων. |
adFieldSignMismatch | 5 | Η οδηγία υποδηλώνει ότι η τιμή που επιστρέφεται από τον παρέχοντα έχει υποσημείο, ενώ ο τύπος δεδομένων της τιμής του πεδίου του ADO δεν έχει υποσημείο. |
adFieldDataOverflow | 6 | Η οδηγία υποδηλώνει ότι τα δεδομένα που επιστρέφονται από τον παρέχοντα υπερβαίνουν τον τύπο δεδομένων του πεδίου. |
adFieldCantCreate | 7 | Η οδηγία υποδηλώνει ότι δεν μπορεί να προστεθεί το πεδίο επειδή ο παρέχων έχει ξεπεράσει τα όρια (όπως ο αριθμός των επιτρεπόμενων πεδίων). |
adFieldUnavailable | 8 | Η οδηγία υποδηλώνει ότι ο παρέχων δεν μπορεί να καθορίσει την τιμή κατά τη διάρκεια της ανάγνωσης από την πηγή δεδομένων. Για παράδειγμα, η γραμμή刚被创建 just δημιουργήθηκε, η προεπιλεγμένη τιμή της στήλης δεν μπορεί να χρησιμοποιηθεί, και δεν έχει καθοριστεί νέα τιμή. |
adFieldPermissionDenied | 9 | Η εντολή υποδεικνύει ότι λόγω του ότι το πεδίο οριστεί ως αναγνωριστικό, δεν μπορεί να τροποποιηθεί. |
adFieldIntegrityViolation | 10 | Η εντολή υποδεικνύει ότι λόγω του ότι το πεδίο είναι υπολογιστικό ή παραγεννημένο, δεν μπορεί να τροποποιηθεί. |
adFieldSchemaViolation | 11 | Η εντολή υποδεικνύει ότι η τιμή παραβιάζει τα περιοριστικά μοτίβα της πηγής δεδομένων του πεδίου. |
adFieldBadStatus | 12 | Η εντολή υποδεικνύει ότι στάλθηκε ένας μη έγκυρος τιμή κατάστασης από το ADO στον πάροχο OLE DB. Η αιτία μπορεί να είναι ο πάροχος OLE DB 1.0 ή 1.1 ή η ακατάλληλη σύνθεση της τιμής με την κατάσταση. |
adFieldDefault | 13 | Η εντολή υποδεικνύει ότι κατά την ρύθμιση δεδομένων χρησιμοποιήθηκε η προεπιλεγμένη τιμή του πεδίου. |
adFieldIgnore | 15 | Η εντολή υποδεικνύει ότι το πεδίο παραλείπεται κατά την ρύθμιση των τιμών δεδομένων στη πηγή. Ο πάροχος δεν ρύθμισε καμία τιμή. |
adFieldDoesNotExist | 16 | Η εντολή υποδεικνύει ότι το καθορισμένο πεδίο δεν υπάρχει. |
adFieldInvalidURL | 17 | Η εντολή υποδεικνύει ότι το URL της πηγής δεδομένων περιέχει μη έγκυρα χαρακτήρες. |
adFieldResourceLocked | 18 | Η εντολή υποδεικνύει ότι λόγω της λοκής της πηγής δεδομένων από μια ή περισσότερες άλλες εφαρμογές ή διεργασίες, ο πάροχος δεν μπορεί να εκτελέσει τη λειτουργία. |
adFieldResourceExists | 19 | Η εντολή υποδεικνύει ότι λόγω της ύπαρξης του αντικειμένου στο στόχο URL και της μη δυνατότητας αντικατάστασής του, ο πάροχος δεν μπορεί να εκτελέσει τη λειτουργία. |
adFieldCannotComplete | 20 | Η εντολή υποδεικνύει ότι ο διακομιστής που καθορίζεται από το URL της πηγής δεν μπορεί να ολοκληρώσει τη λειτουργία. |
adFieldVolumeNotFound | 21 | Η εντολή υποδεικνύει ότι ο πάροχος δεν μπορεί να εντοπίσει τον όγκο αποθήκευσης που υποδεικνύεται από το URL. |
adFieldOutOfSpace | 22 | Η εντολή υποδεικνύει ότι ο πάροχος δεν μπορεί να αποκτήσει αρκετό χώρο αποθήκευσης για να ολοκληρώσει τη μετακίνηση ή την αντιγραφή. |
adFieldCannotDeleteSource | 23 | Η εντολή υποδεικνύει ότι στη μετακίνηση, το δέντρο ή το υποδέντρο μετακινήθηκαν σε νέα θέση, αλλά η πηγή δεν μπορεί να διαγραφεί. |
adFieldReadOnly | 24 | Η εντολή υποδεικνύει ότι το πεδίο στη πηγή δεδομένων έχει οριστεί ως αναγνωριστικό. |
adFieldResourceOutOfScope | 25 | Η εντολή υποδεικνύει ότι η πηγή ή ο στόχος URL ξεπερνά το εύρος του τρέχοντος καταγραφέα. |
adFieldAlreadyExists | 26 | Η εντολή υποδεικνύει ότι το καθορισμένο πεδίο υπάρχει. |
adFieldPendingInsert | 0x10000 | Η εντολή προσθήκης Append προκαλεί την ανάγκη ρύθμισης κατάστασης. Το πεδίο σημειώνεται ότι προστίθεται στη συλλογή Fields μετά από την κλήση του μεθόδου Update. |
adFieldPendingDelete | 0x20000 | Εντοπίζει ότι η ενέργεια Delete προκάλεσε την ανάγκη για ρύθμιση της κατάστασης. Το πεδίο θα σημαδευτεί για αφαίρεση από τη συλλογή Fields μετά την κλήση του μεθόδου Update. |
adFieldPendingChange | 0x40000 | Εντοπίζει ότι το πεδίο έχει αφαιρεθεί και επανπροστέθηκε (μπορεί να είναι διαφορετικός ο τύπος δεδομένων) ή ότι η τιμή του πεδίου που είχε προηγουμένως την κατάσταση adFieldOK έχει更改. Η τελική μορφή του πεδίου θα τροποποιηθεί στη συλλογή Fields μετά την κλήση του μεθόδου Update. |
adFieldPendingUnknown | 0x80000 | Εντοπίζει ότι ο πάροχος δεν μπορεί να καθορίσει ποια ενέργεια προκάλεσε την ανάγκη για ρύθμιση της κατάστασης. |
adFieldPendingUnknownDelete | 0x100000 | Εντοπίζει ότι ο πάροχος δεν μπορεί να καθορίσει ποια ενέργεια προκάλεσε την ανάγκη για ρύθμιση της κατάστασης του πεδίου και ότι το πεδίο θα αφαιρεθεί από τη συλλογή Fields μετά την κλήση του μεθόδου Update. |