Đối tượng Bản ghi tập của ADO
- Trang trước Bản ghi ADO
- Trang tiếp theo Dòng ADO
Mẫu
- GetRows
- Ví dụ minh họa cách sử dụng phương thức GetRows.
Đối tượng Recordset
Đối tượng Recordset ADO được sử dụng để chứa một tập hợp bản ghi từ bảng cơ sở dữ liệu. Một đối tượng Recordset được组成 từ các bản ghi và cột (trường).
Trong ADO, đối tượng này là quan trọng nhất và thường được sử dụng để thực hiện các thao tác dữ liệu cơ sở dữ liệu.
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
Khi bạn mở Recordset lần đầu tiên, con trỏ bản ghi hiện tại sẽ chỉ đến bản ghi đầu tiên, đồng thời các thuộc tính BOF và EOF là False. Nếu không có bản ghi, các thuộc tính BOF và EOF là True.
Đối tượng Recordset có thể hỗ trợ hai loại cập nhật:
- Cập nhật ngay lập tức - Khi gọi phương thức Update, tất cả các thay đổi sẽ được ghi vào cơ sở dữ liệu ngay lập tức.
- Cập nhật lô - Provider sẽ lưu trữ nhiều thay đổi, sau đó gửi chúng vào cơ sở dữ liệu bằng phương thức UpdateBatch.
Trong ADO, đã định nghĩa 4 loại con trỏ (điểm) khác nhau:
- Con trỏ động - Cho phép bạn xem các thêm, thay đổi và xóa của người dùng khác
- Con trỏ tập hợp khóa - Tương tự con trỏ động, nhưng bạn không thể xem các thêm của người dùng khác và nó sẽ ngăn bạn truy cập vào các bản ghi đã bị xóa bởi người dùng khác. Các thay đổi dữ liệu của người dùng khác vẫn visible.
- Con trỏ tĩnh - cung cấp bản sao tĩnh của tập hợp dữ liệu, có thể được sử dụng để tìm kiếm dữ liệu hoặc tạo báo cáo. Ngoài ra, các thêm, thay đổi và xóa của người dùng khác sẽ không visible. Khi bạn mở một đối tượng Recordset khách hàng, đây là loại con trỏ duy nhất được phép.
- Con trỏ chỉ di chuyển về trước - chỉ cho phép cuộn về trước trong Recordset. Ngoài ra, các thêm, thay đổi và xóa của người dùng khác sẽ không visible. Ngoài ra, con trỏ tĩnh - cung cấp bản sao tĩnh của tập hợp dữ liệu, có thể được sử dụng để tìm kiếm dữ liệu hoặc tạo báo cáo. Ngoài ra, các thêm, thay đổi và xóa của người dùng khác sẽ không visible. Khi bạn mở một đối tượng Recordset khách hàng, đây là loại con trỏ duy nhất được phép.
Có thể đặt loại con trỏ thông qua thuộc tính CursorType hoặc thông qua tham số CursorType trong phương thức Open.
Ghi chú:Không phải tất cả các nhà cung cấp (providers) hỗ trợ tất cả các phương thức và thuộc tính của đối tượng Recordset.
Thuộc tính
Thuộc tính | Mô tả |
---|---|
AbsolutePage | Đặt hoặc trả về giá trị có thể chỉ định trang của đối tượng Recordset. |
AbsolutePosition | Đặt hoặc trả về giá trị có thể chỉ định vị trí thứ tự (vị trí số) của bản ghi hiện tại trong đối tượng Recordset. |
ActiveCommand | Trả về đối tượng Command liên quan đến đối tượng Recordset. |
ActiveConnection | Nếu kết nối bị đóng, đặt hoặc trả về định nghĩa của kết nối, nếu kết nối mở, đặt hoặc trả về đối tượng Connection hiện tại. |
BOF | Nếu vị trí của bản ghi hiện tại trước bản ghi đầu tiên, trả về true, ngược lại trả về false. |
Bookmark | Đặt hoặc trả về một Bookmark. Bookmark này lưu trữ vị trí của bản ghi hiện tại. |
CacheSize | Đặt hoặc trả về số lượng bản ghi có thể được lưu trữ trong bộ nhớ cache. |
CursorLocation | Đặt hoặc trả về vị trí của dịch vụ con trỏ. |
CursorType | Đặt hoặc trả về loại con trỏ của đối tượng Recordset. |
DataMember | Đặt hoặc trả về tên của thành viên dữ liệu cần lấy từ đối tượng được tham chiếu bởi thuộc tính DataSource. |
DataSource | Chỉ định một đối tượng chứa dữ liệu cần được biểu diễn dưới dạng đối tượng Recordset. |
EditMode | Trả về trạng thái chỉnh sửa hiện tại của bản ghi. |
EOF | Nếu vị trí của bản ghi hiện tại sau bản ghi cuối cùng, trả về true, ngược lại trả về false. |
Filter | Trả về một bộ lọc cho dữ liệu của đối tượng Recordset. |
Index | Đặt hoặc trả về tên của chỉ mục hiện tại của đối tượng Recordset. |
LockType | Đặt hoặc trả về giá trị có thể chỉ định loại khóa khi chỉnh sửa một bản ghi trong Recordset. |
MarshalOptions | Đặt hoặc trả về một giá trị, giá trị này xác định những bản ghi nào được trả về máy chủ. |
MaxRecords | Đặt hoặc trả về số lượng bản ghi tối đa từ một truy vấn trả về đối tượng Recordset. |
PageCount | Trả về số lượng trang dữ liệu trong đối tượng Recordset. |
PageSize | Đặt hoặc trả về số lượng bản ghi tối đa được phép trên một trang của đối tượng Recordset. |
RecordCount | Trả về số lượng bản ghi trong đối tượng Recordset. |
Sort | Đặt hoặc trả về tên của một hoặc nhiều trường được sử dụng làm cơ sở sắp xếp Recordset. |
Source | Đặt một giá trị chuỗi, hoặc tham chiếu đối tượng Command, hoặc trả về một giá trị chuỗi chỉ ra nguồn dữ liệu của đối tượng Recordset. |
State | Trả về một giá trị mô tả Recordset đối tượng là mở, đóng, đang kết nối, đang thực hiện hoặc đang lấy dữ liệu. |
Status | Trả về trạng thái hiện tại của bản ghi trong việc cập nhật lô hoặc các thao tác lớn khác. |
StayInSync | Đặt hoặc trả về việc có thay đổi tham chiếu đến bản ghi con khi vị trí bản ghi cha thay đổi. |
Phương pháp
Phương pháp | Mô tả |
---|---|
AddNew | Tạo một bản ghi mới. |
Cancel | Hủy bỏ một lệnh thực hiện. |
CancelBatch | Hủy bỏ một lệnh cập nhật lô. |
CancelUpdate | Hủy bỏ các thay đổi đã thực hiện trên một bản ghi của đối tượng Recordset. |
Clone | Tạo bản sao của Recordset đã có. |
Close | Đóng một Recordset. |
CompareBookmarks | So sánh hai Bookmark. |
Delete | Xóa một bản ghi hoặc một nhóm các bản ghi. |
Find | Tìm kiếm một bản ghi trong Recordset thỏa mãn một điều kiện cụ thể. |
GetRows | Chép nhiều bản ghi từ một đối tượng Recordset vào một mảng hai chiều. |
GetString | Trả về Recordset dưới dạng chuỗi. |
Move | Di chuyển con trỏ bản ghi trong đối tượng Recordset. |
MoveFirst | Chuyển con trỏ bản ghi đến bản ghi đầu tiên. |
MoveLast | Chuyển con trỏ bản ghi đến bản ghi cuối cùng. |
MoveNext | Chuyển con trỏ bản ghi đến bản ghi tiếp theo. |
MovePrevious | Chuyển con trỏ bản ghi đến bản ghi trước. |
NextRecordset | Bằng cách thực hiện một loạt các lệnh để xóa đối tượng Recordset hiện tại và trả về Recordset tiếp theo. |
Open | Mở một phần tử cơ sở dữ liệu, phần tử này có thể cung cấp truy cập đến các bản ghi của bảng, kết quả của truy vấn hoặc Recordset đã lưu. |
Requery | Cập nhật dữ liệu trong Recordset bằng cách thực hiện lại truy vấn cơ sở dữ liệu mà đối tượng dựa trên. |
Resync | Cập nhật lại dữ liệu hiện tại trong Recordset từ cơ sở dữ liệu gốc. |
Save | Lưu đối tượng Recordset vào tệp hoặc đối tượng Stream. |
Seek | Tìm kiếm chỉ mục của Recordset để nhanh chóng định vị dòng khớp với giá trị được chỉ định và làm cho nó trở thành dòng hiện tại. |
Supports | Trả về một giá trị Boole, giá trị này có thể xác định Recordset có hỗ trợ chức năng loại cụ thể hay không. |
Update | Lưu tất cả các thay đổi đối với một bản ghi duy nhất trong đối tượng Recordset. |
UpdateBatch | Lưu tất cả các thay đổi của Recordset vào cơ sở dữ liệu. Hãy sử dụng chế độ cập nhật hàng loạt. |
Sự kiện
Lưu ý: Bạn không thể xử lý sự kiện bằng VBScript hoặc JScript (chỉ các ngôn ngữ Visual Basic, Visual C++, và Visual J++ mới có thể xử lý sự kiện).
Sự kiện | Mô tả |
---|---|
EndOfRecordset | Được kích hoạt khi cố gắng di chuyển đến dòng sau cuối của Recordset. |
FetchComplete | Được kích hoạt khi tất cả các bản ghi trong tác vụ đồng bộ đều được đọc. |
FetchProgress | Được kích hoạt định kỳ trong quá trình tác vụ đồng bộ, báo cáo đã đọc bao nhiêu bản ghi. |
FieldChangeComplete | Được kích hoạt khi giá trị của đối tượng Field thay đổi. |
MoveComplete | Được kích hoạt sau khi thay đổi vị trí hiện tại trong Recordset. |
RecordChangeComplete | Được kích hoạt sau khi thay đổi một bản ghi. |
RecordsetChangeComplete | Được kích hoạt sau khi thay đổi Recordset. |
WillChangeField | Được kích hoạt trước khi thay đổi giá trị của đối tượng Field. |
WillChangeRecord | Được kích hoạt trước khi thay đổi một bản ghi. |
WillChangeRecordset | Được kích hoạt trước khi thay đổi Recordset. |
WillMove | Được kích hoạt trước khi thay đổi vị trí hiện tại trong Recordset. |
Bộ
Bộ | Mô tả |
---|---|
Fields | Chỉ ra số lượng đối tượng Field trong Recordset này. |
Properties | Chứa tất cả các đối tượng Property trong Recordset. |
Thuộc tính của bộ sưu tập Fields
Thuộc tính | Mô tả |
---|---|
Count |
Trả về số lượng mục trong bộ sưu tập fields. Bắt đầu từ 0. Ví dụ: countfields = rs.Fields.Count |
Item(named_item/number) |
Trả về một mục cụ thể nào đó trong bộ sưu tập fields. Ví dụ: itemfields = rs.Fields.Item(1) hoặc itemfields = rs.Fields.Item("Name") |
Thuộc tính của bộ sưu tập Properties
Thuộc tính | Mô tả |
---|---|
Count |
Trả về số lượng mục trong bộ sưu tập properties. Bắt đầu từ 0. Ví dụ: countprop = rs.Properties.Count |
Item(named_item/number) |
Trả về một mục cụ thể nào đó trong bộ sưu tập properties. Ví dụ: itemprop = rs.Properties.Item(1) hoặc itemprop = rs.Properties.Item("Name") |
- Trang trước Bản ghi ADO
- Trang tiếp theo Dòng ADO