ADO Recordset Object

Παράδειγμα

GetRows
Αυτό το παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη μέθοδο GetRows.

Αντικείμενο Recordset

Το αντικείμενο ADO Recordset χρησιμοποιείται για να περιέχει μια συλλογή καταχωρήσεων από μια τράπεζα δεδομένων.

Στο ADO, αυτό το αντικείμενο είναι το πιο σημαντικό και συχνά χρησιμοποιούμενο για τη διαχείριση δεδομένων της βάσης δεδομένων.

ProgID

set objRecordset=Server.CreateObject("ADODB.recordset")

Όταν ανοίγετε για πρώτη φορά ένα Recordset, ο δείκτης του τρέχοντος καταχωρήματος θα σημειωθεί στην πρώτη καταχώρηση, ενώ τα χαρακτηριστικά BOF και EOF θα είναι ψευδής. Αν δεν υπάρχει καταχώρηση, τα χαρακτηριστικά BOF και EOF θα είναι αληθής.

Το αντικείμενο Recordset μπορεί να υποστηρίζει δύο τύπους ενημέρωσης:

  • Μέθοδος άμεσης ενημέρωσης - Μόλις καλείται η μέθοδος Update, όλες οι αλλαγές γραφούν αμέσως στη βάση δεδομένων.
  • Μεθόδος άμεσης ενημέρωσης - Μόλις καλείται η μέθοδος Update, όλες οι αλλαγές γραφούν αμέσως στη βάση δεδομένων.

Στο ADO, ορίζονται 4 διαφορετικοί τύποι δείκτη (αποστολέων):

  • Δυναμικός δείκτης - Επιτρέπει την επίδειξη των προσθήκες,更改 και διαγραφές που έχουν γίνει από άλλους χρήστες
  • Κλειστός δείκτης σύγκρισης - Αντίστοιχος του δυναμικού δείκτη, αλλά δεν μπορείτε να δείτε τις προσθήκες που έχουν γίνει από άλλους χρήστες και αποτρέπει την πρόσβαση σε καταχωρήσεις που έχουν διαγραφεί από άλλους χρήστες. Οι αλλαγές δεδομένων που έχουν γίνει από άλλους χρήστες είναι toujours ορατές.
  • Στατικός κουρασμός - Παρέχει μια στατική αντιγραφή του συνόλου καταγράφων, η οποία μπορεί να χρησιμοποιηθεί για αναζήτηση δεδομένων ή δημιουργία αναφορών. Επιπλέον, οι προσθήκες, οι αλλαγές και οι διαγραφές από άλλους χρήστες θα είναι αόρατες. Όταν ανοίγετε ένα αντικείμενο Recordset πελάτη, αυτός είναι ο μοναδικός επιτρεπόμενος τύπος κουρασμού.
  • Στατικός κουρασμός - Παρέχει μια στατική αντιγραφή του συνόλου καταγράφων, η οποία μπορεί να χρησιμοποιηθεί για αναζήτηση δεδομένων ή δημιουργία αναφορών. Επιπλέον, οι προσθήκες, οι αλλαγές και οι διαγραφές από άλλους χρήστες θα είναι αόρατες. Όταν ανοίγετε ένα αντικείμενο Recordset πελάτη, αυτός είναι ο μοναδικός επιτρεπόμενος τύπος κουρασμού.

Ο τύπος του κουρασμού μπορεί να οριστεί μέσω της ιδιότητας CursorType ή του παραμέτρου CursorType στη μεθόδο Open.

Σημείωση:Μη όλοι οι πάροχοι (providers) υποστηρίζουν όλες τις μεθόδους και ιδιότητες του αντικειμένου Recordset.

Property

Property Description
AbsolutePage Ορίζει ή επιστρέφει μια τιμή που καθορίζει την σελίδα του καταγράφου στο αντικείμενο Recordset.
AbsolutePosition Ορίζει ή επιστρέφει μια τιμή που καθορίζει τη θέση του τρέχοντος καταγράφου στο αντικείμενο Recordset (αριθμητική θέση).
ActiveCommand Επιστρέφει το αντικείμενο Command που σχετίζεται με το αντικείμενο Recordset.
ActiveConnection Ορίζει ή επιστρέφει τη διατύπωση της σύνδεσης αν η σύνδεση είναι κλειστή, αν η σύνδεση είναι ανοιχτή, ορίζει ή επιστρέφει το τρέχον αντικείμενο Connection.
BOF Επιστρέφει αληθής αν η θέση του τρέχοντος καταγράφου βρίσκεται πριν από το πρώτο καταγράφημα, αλλιώς επιστρέφει ψευδές.
Bookmark Ορίζει ή επιστρέφει ένα σημείο κλειδί. Αυτό το σημείο κλειδί αποθηκεύει τη θέση του τρέχοντος καταγράφου.
CacheSize Ορίζει ή επιστρέφει τον αριθμό των καταγράφων που μπορούν να αποθηκευτούν στον πίνακα.
CursorLocation Ορίζει ή επιστρέφει τη θέση του υπηρεσιού κουρασμού.
CursorType Ορίζει ή επιστρέφει τον τύπο του κουρασμού του αντικειμένου Recordset.
DataMember Ορίζει ή επιστρέφει το όνομα του μέλους δεδομένων που θα ανακτηθεί από το αντικείμενο που αναφέρεται από την ιδιότητα DataSource.
DataSource Ορίζει ένα αντικείμενο που περιέχει τα δεδομένα που θα εκπροσωπηθούν ως αντικείμενο Recordset.
EditMode Επιστρέφει την κατάσταση επεξεργασίας του τρέχοντος καταγράφου.
EOF Επιστρέφει αληθής αν η θέση του τρέχοντος καταγράφου βρίσκεται μετά το τελευταίο καταγράφημα, αλλιώς επιστρέφει ψευδές.
Filter Επιστρέφει έναν φίλτρο για τα δεδομένα του αντικειμένου Recordset.
Index Ορίζει ή επιστρέφει το όνομα του τρέχοντος δείκτη του αντικειμένου Recordset.
LockType Ορίζει ή επιστρέφει τη τιμή που καθορίζει τον τύπο του κλειδιού που μπορεί να καθοριστεί κατά την επεξεργασία ενός καταγράφου στο Recordset.
MarshalOptions Ορίζει ή επιστρέφει μια τιμή που καθορίζει ποια καταγραφές θα επιστραφούν στο διακομιστή.
MaxRecords Ρυθμίστε ή επιστρέψτε τον μέγιστο αριθμό εγγραφών που επιστρέφονται από μια ερώτηση στο αντικείμενο Recordset.
PageCount Επιστρέψτε τον αριθμό των δεδομένων σελίδων στο αντικείμενο Recordset.
PageSize Ρυθμίστε ή επιστρέψτε τον αριθμό των εγγραφών που επιτρέπεται σε μια μοναδική σελίδα του αντικειμένου Recordset.
RecordCount Επιστρέψτε τον αριθμό των εγγραφών σε ένα αντικείμενο Recordset.
Sort Ρυθμίστε ή επιστρέψτε το όνομα ενός ή περισσότερων πεδίων που χρησιμοποιούνται ως βάση για τη σειρά του Recordset.
Source Ρυθμίστε μια αλφαριθμητική τιμή ή μια αναφορά στο αντικείμενο Command και επιστρέψτε μια αλφαριθμητική τιμή που δείχνει την πηγή δεδομένων του αντικειμένου Recordset.
State Επιστρέψτε μια τιμή που περιγράφει αν το αντικείμενο Recordset είναι ανοιχτό, κλειστό, σε σύνδεση, εκτελείται ή αποστέλλει δεδομένα.
Status Επιστρέψτε την κατάσταση της τρέχουσας εγγραφής για μια μαζική ενημέρωση ή άλλες μεγάλες λειτουργίες.
StayInSync Ρυθμίστε ή επιστρέψτε αν η αναφορά στις υποεγγραφές αλλάζει όταν η θέση του γονικού εγγραφής αλλάζει.

Μέθοδος

Μέθοδος Description
AddNew Δημιουργήστε μια νέα εγγραφή.
Cancel Ακυρώστε μια εκτέλεση.
CancelBatch Ακυρώστε μια μαζική ενημέρωση.
CancelUpdate Ακυρώστε τις αλλαγές σε μια εγγραφή του αντικειμένου Recordset.
Clone Δημιουργήστε ένα αντίγραφο του υπάρχοντος Recordset.
Κλείστε Κλείστε ένα Recordset.
CompareBookmarks Συγκρίνετε δύο βιβλιοθήκες.
Delete Διαγράψτε μια εγγραφή ή ένα σύνολο εγγραφών.
Find Αναζητήστε μια εγγραφή στο Recordset που πληροί μια συγκεκριμένη συνθήκη.
GetRows Αντιγράψτε πολλαπλές εγγραφές από το αντικείμενο Recordset σε μια δυάδεια πίνακα.
GetString Επιστρέψτε το Recordset ως αλφαριθμητικό.
Μετακινήστε Μετακινήστε τον δείκτη εγγραφής στον αντικείμενο Recordset.
ΜετακινήστεΠρώτη Μετακινήστε τον δείκτη εγγραφής στην πρώτη εγγραφή.
ΜετακινήστεΤελευταία Μετακινήστε τον δείκτη εγγραφής στην τελευταία εγγραφή.
ΜετακινήστεΕπόμενη Μετακινήστε τον δείκτη εγγραφής στην επόμενη εγγραφή.
ΜετακινήστεΠροηγούμενη Μετακινήστε τον δείκτη εγγραφής στην προηγούμενη εγγραφή.
ΕπόμενοRecordset Αφαιρέστε τον τρέχοντα αντικείμενο Recordset εκτελώντας μια σειρά από εντολές και επιστρέψτε το επόμενο Recordset.
Ανοίξτε Ανοίξτε ένα στοιχείο βάσης δεδομένων, το οποίο μπορεί να παρέχει πρόσβαση στις εγγραφές της τάξης, τα αποτελέσματα της αναζήτησης ή το αποθηκευμένο Recordset.
Requery 通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。
Resync 从原始数据库刷新当前 Recordset 中的数据。
Save 把 Recordset 对象保存到 file 或 Stream 对象中。
Seek 搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。
Supports 返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。
Update 保存所有对 Recordset 对象中的一条单一记录所做的更改。
UpdateBatch 将所有 Recordset 中的更改存入数据库。请在批更新模式中使用。

事件

注意:您不能使用 VBScript 或 JScript 处理事件(只有 Visual Basic、Visual C++ 和 Visual J++ 语言可以处理事件)。

事件 Description
EndOfRecordset 当试图移动到超过 Recordset 结尾的行时被触发。
FetchComplete 当异步操作中的所有记录均被读取后被触发。
FetchProgress 在异步操作期间被定期地触发,报告已读取多少记录。
FieldChangeComplete Field 对象的值更改被触发。
MoveComplete Recordset 中的当前位置更改后被触发。
RecordChangeComplete 一条记录更改之后被触发。
RecordsetChangeComplete 在 Recordset 更改之后被触发。
WillChangeField 在 Field 对象的值更改之前被触发
WillChangeRecord 在一条记录更改之前被触发。
WillChangeRecordset 在 Recordset 更改之前被触发。
WillMove 在 Recordset 中的当前位置更改之前被触发。

集合

集合 Description
Fields 指示在此 Recordset 对象中 Field 对象的数目。
Properties 包含所有 Recordset 对象中的 Property 对象。

Fields Collection's Properties

Property Description
Count

Επιστρέφει τον αριθμό των αντικειμένων στη συλλογή fields. ξεκινά από το 0.

Παράδειγμα:

	countfields = rs.Fields.Count
	
Item(named_item/number)

Επιστρέφει μια συγκεκριμένη ενότητα από τη συλλογή fields.

Παράδειγμα:

	itemfields = rs.Fields.Item(1)
	ή	
	itemfields = rs.Fields.Item("Name")
	

Properties Collection's Properties

Property Description
Count

Επιστρέφει τον αριθμό των αντικειμένων στη συλλογή properties. ξεκινά από το 0.

Παράδειγμα:

	countprop = rs.Properties.Count
	
Item(named_item/number)

Επιστρέφει μια συγκεκριμένη ενότητα από τη συλλογή properties.

Παράδειγμα:

	itemprop = rs.Properties.Item(1)
	ή
	itemprop = rs.Properties.Item("Name")