Tải bản đầy đủ (.ppt) (8 trang)

Bài giảng lập trình trực quan bài 3 các thao tác trên recordset

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (786.97 KB, 8 trang )

1, Sử dụng Connection để kết nối CSDL :
1.1, Khai Báo :
- Khai báo và cấp vùng nhớ luôn
Dim cnn As New ADODB.Connection
- Khai báo và cấp khi sử dụng
Dim cnn As ADODB.Connection
….
Set cnn = New ADODB.Connection
1.2, Thuộc tính ConnectionString : khai báo trình Provider và CSDL
VD : Dim cnn As New ADOBD.Connection
cnn.ConnectionString = “Provider = Microsoft.Jet.OLEDB.4.0;” & _
“ DataSource = “ & App.Path & “CSDL.MDB”


1.3, Thuộc tính CursorLocation : quy định con trỏ liên kết dữ liệu sẽ được
tạo tại máy chủ hay máy trạm.
- adUseClient : [3] dữ liệu được tạo ra tại máy trạm
- adUseServer : [2] dữ liệu tạo trên máy chủ
1.4, Hành động Open : nhằm thực hiện việc kết nối ứng dụng với
nguồn cơ sở dữ liệu.
1.5, Thuộc tính State : dùng khi kết nối để kiểm tra việc kết nối có
thành công hay không.
- adStateOpen : [1] kết nối đang mở
- adStateClosed : [0] kết nối đang đóng


2, Mở RECORDSET :

<Recordset>.Open [Source], [ActiveConnection], [CursorType],
[LockType], [Options]
- Source : nội dung truy xuất. ( Table, Query, SQL…)


- ActiveConnection : nội dung khai báo ConnectionString hay
Connection đang mở.
- CursorType : phân loại RecordSet với các giá trị sau :

một

+ adOpenStatic : mẩu tin tạo tại máy con. Không tự động cập nhật
+ adOpenDynamic : mẩu tin tạo trên máy chủ. Tự động cập nhật.
+ adOpenKeySet : không tự động cập nhật các mẩu tin bị xoá hay thêm
bởi các người dùng đang sử dụng chung RecordSet. Không truy cập
được những mẩu tin bị xoá do người dùng khác và các thay đổi do
người khác vẫn được hiển thị.
+ adOpenForewardOnle : chỉ di chuyển bằng MoveNext


2, Mở RECORDSET :
- LockType : xác định cách khoá dữ liệu khi cập nhật mẩu tin
+ adLockReadOnly : [1] chỉ cho phép đọc (luôn luôn khoá)
+ adLockOptimistic : [2] chỉ khoá khi cập nhật mẩu tin
+ adLockBatchOptimistic : [3] giống [2] nhưng cho phép cập nhật
đồng thời nhiều mẩu tin.
+ adLockPessimistic : [4] mẩu tin sẽ khoá ngay khi thực hiện Update hay
AddNew. chỉ dùng khi CursorLocation là adUseServer
- Options : xác định kiểu của Source, có thể bỏ qua nhưng nếu khai báo thì
phải tương ứng kiểu của Source không thì sẽ lỗi.
+ adCmdTable : khi Source là Table hay Query
+ adCmdText : khi Source là truy vấn SQL
+ ađCmStoreProc : khi là Stored Procedure trong SQL SERVER



2.1, Truy xuất RecordSet :
< Tên RecordSet >.Fields(“< tên field >”).Value
Hay
< Tên RecordSet>!<tên field>
Hay
< Tên RecordSet >.Fields(Index)
2.2, Thuộc tính của RecorSet :
-RecordCount : tổng số mẩu tin trong RecordSet
-AbsolutePosition : vị trí mẩu tin hiện hành
-BOF, EOF : vị trí đầu và cuối trong cấu trúc RecordSet


3, Hiển Thị Dữ Liệu Trong RecordSet :
- Các đối tượng hiển thị cơ bản : Label, TextBox, CheckBox, Image,
nhóm ActiveX Control (DataList, DataGrid, MSHFlexGrid)
- Thuộc tính kết nối : DataSource, DataField.
Các ActiveX có thêm :
+ RowSource : RecordSet cung cấp giá trị liệt kê
+ ListField : tên Field muốn điều khiển hiển thị
+ BoundColumn : tên Field cập nhật giá trị (trùng với DataField)
4, Di chuyển bản ghi bằng hành động Move
- <tên Record>.Move numRec
NumRec : số bản ghi cần nhảy qua (mang giá trị âm và dương)
- MoveFirst, MovePrevious, MoveNext, MoveLast


5, Thêm, Xoá, Cập Nhật/Không Cập Nhật dữ liệu :
5.1, Hành động thêm, xoá, cập nhật mẩu tin :
- AddNew : nhập thêm mẩu tin mới
- Delete : xoá mẩu tin hiện hành trên RecordSet

- Update/CancelUpdate : cập nhật/không cập nhật. Dùng khi
LockType là adLockOptimistic hay adLockPessimistic.
- UpdateBatch/CancelBatch : cập nhật/không cập nhật các thay đổi trên
RecordSet khi LockType là adLockBatchOptimistic.
5.2, Cơ chế cập nhật dữ liệu tự động của RecordSet với LockType :
- adLockOptimistic : cập nhật vào nguồn ngay khi thay đổi
- adLockBatchOptimistic : chỉ cập nhật vào nguồn khi gọi thực hiện
hành động UpdateBatch.


6, Sự kiện MoveComplete :
6.1, Khai báo
Dim WithEvents rst As ADODB.RecordSet
Thời điểm phát sinh : khi mẩu tin hiện hành thay đổi
6.2, Sử dụng sự kiện MoveComplete :
- Hiển thị vị trí mẩu tin hiện hành qua AbsolutePosition
- kiểm soát mờ/ hiện chức năng di chuyển qua lại giữa các mẩu tin
- Cho biết tình trạng mẩu tin hiện hành thông qua EditMode
+ adEditNone : [0] mẩu tin trong trạng thái bình thường
+ adEditProcess : [1] tình trạng chỉnh sửa chưa cập nhập
+ adEditAdd : [2] tình trạng thêm mới chưa cập nhật
+ adEditDelete : [3] tình trạng đánh dấu huỷ



×