Giáo trình đào tạo Visual Basic 6.0

1 Mục lục

1 Mục lục 1

2 Làm quen với visual basic 6.0 9

2.1 Xây dựng ứng dụng ban đầu 9

2.1.1 Viết ứng dụng ban đầu 9

2.1.2 Xây dựng tính năng Calendar 9

2.1.3 Thêm tính năng Clock 11

2.2 Các tính năng mới trong Visual basic 6.0 11

2.2.1 Khái quát vắn tắt về Visual basic 6.0 11

2.2.2 Khai thác thế mạnh của các điều khiển mở rộng 12

2.3 Làm việc với môi trường lập trình trong Visual basic 12

2.3.1 Tìm hiểu các phần của IDE 12

2.3.2 Thêm và xoá các thanh công cụ trong IDE của Visual basic 13

2.3.3 Thêm các điều khiển vào hộp công cụ 14

2.3.4 Định hướng thông qua cửa sổ form và code 14

2.3.5 Quản lý ứng dụng với project explorer 14

2.3.6 Cửa sổ properties 14

2.3.7 Hiển thị IDE 14

2.3.8 Trợ giúp 15

3 Tìm hiểu Visual basic 6 16

3.1 Thuộc tính phương thức và sự kiện 16

3.1.1 Đối tượng 16

3.1.2 Thuộc tính 16

3.1.3 Phương thức 17

3.1.4 Sự kiện 18

3.1.5 Mối quan hệ giữa phương thức, thuộc tính và sự kiện 18

3.1.6 Cửa sổ Properties 19

3.1.7 Viết chương trình sử dụng thuộc tính, phương thức và sự kiện 20

3.2 Làm việc với một đề án 24

3.2.1 Định nghĩa 24

3.2.2 Cửa sổ Project Explorer 25

3.2.3 Tạo đề án 25

3.2.4 Đổi thuộc tính đề án 25

3.2.5 Lưu và đặt tên đề án 26

3.2.6 Mở đề án có sẵn 26

3.2.7 Thêm xoá và lưu tập tin trong đề án 27

3.2.8 Thêm điều khiển vào đề án 29

3.2.9 Tạo tệp tin EXE 30

3.2.10 Sửa đổi thuộc tính đề án 31

3.3 Làm việc với nhiều đề án 32

3.3.1 Sử dụng Project Group 32

3.3.2 Thêm đề án vào nhóm đề án 32

3.3.3 Xoá đề án trong nhóm đề án 33

4 Làm việc với các điều khiển 34

4.1 Các loại điều khiển 34

4.1.1 Thao tác với điều khiển 34

4.2 Các điều khiển nội tại 37

4.2.1 Nút lệnh 37

4.2.2 Hộp văn bản 38

4.2.3 Điều khiển thanh cuộn 38

4.2.4 Điều khiển Timer 39

4.2.5 Điều khiển nhãn 39

4.2.6 Checkbox: 39

4.2.7 Một số thuộc tinh thông dụng: 39

4.2.8 4.2.9 Hộp danh sách (Listbox). 39

4.3 Các điều khiển M ới 40

5 Nhập môn lập trình 41

5.1 Chuẩn lập trình (Coding convention) 41

5.1.1 Coding conventions 41

5.1.2 Form design standard 46

5.1.3 Report design standard (for Crystal Report) 49

5.1.4 Database design standards 50

5.2 Thiết kế trước khi viết chương trình 51

5.3 Các thao tác thông dụng trong cửa sổ Code 51

5.3.1 Soạn thảo Code 51

5.3.2 Một số chức năng tự động 52

5.4 Biến hằng và các kiểu dữ liệu 52

5.4.1 Khai báo biến 52

5.4.2 Khai báo ngầm 52

5.4.3 Khai báo tường minh 53

5.4.4 Khai báo biến Static 53

5.4.5 Hằng 53

5.5 Hàm và thủ tục 60

5.6 Cấu trúc điều khiển 61

5.6.1 Cấu trúc chọn 61

5.6.2 Cấu trúc lặp 62

5.6.3 Làm việc với cấu trúc 63

5.7 Gỡ rối chương trình 63

5.7.1 Một số giải pháp giảm lỗi 63

5.7.2 Gỡ rối 64

5.8 Bẫy lỗi 65

5.8.1 Lệnh On Error 65

5.8.2 Kết thúc bẫy lỗi 65

6 Lập trình xử lý giao diện 66

6.1 Menu 66

6.1.1 Dùng trình soạn thảo menu để tạo menu 66

6.1.2 Viết chương trình điều khiển menu 67

6.2 Hộp thoại 67

6.2.1 Thông điệp(Message box) 67

6.2.2 Hộp nhập(Input box) 68

6.2.3 Các hộp thoại thông dụng(Common dialog) 68

6.2.4 Hộp thoại hiệu chỉnh 69

6.3 Thanh công cụ(ToolBar) 69

6.3.1 Trong ứng dụng đơn giản 69

6.3.2 Nhúng đối tượng 69

6.4 Thanh trạng thái 69

6.5 Xử lý chuột và bàn phím 70

6.5.1 sự kiện chuột 70

6.5.2 Hiệu chỉnh con trỏ chuột 70

6.5.3 Sự kiện bàn phím 70

7 Xử lý tập tin 72

7.1 Mô hình FSO(File System Object model) 72

7.2 Xử lý các tập tin với các dòng lệnh và hàm I/O cổ điển 72

7.2.1 Các kiểu truy cập tập tin 72

7.3 Các điều khiển trên hệ thống tập tin 75

7.3.1 Hộp danh sách ổ đĩa 75

7.3.2 Hộp danh sách thư mục 75

7.3.3 Hộp danh sách tập tin 76

7.4 Điều khiển richtextbox 76

7.4.1 Phương thức loadfile 77

7.4.2 Phương thức savefile 77

8 Sử dụng DLL và Windows API 78

8.1 DLL và cấu trúc của Windows 78

8.1.1 Các hộp thoại thông dụng 78

8.2 WIN API 79

8.3 Sử dụng API 80

8.3.1 Tìm kiếm API 80

8.3.2 Các DLL của Windows 80

8.3.3 Gọi API 81

8.4 Dùng API khai thác khả năng Multimedia 84

8.4.1 Lớp multimedia 84

9 Thêm trợ giúp vào ứng dụng 96

9.1 Thêm hỗ trợ cho Help 96

9.1.1 Thuộc tính HelpFile 96

9.1.2 Thuộc tính HelpContextID 96

9.2 Thêm hỗ trợ cho WHAT’S THIS HELP 97

9.2.1 Kích hoạt What’s This Help cho biểu mẫu 97

9.3 Cung cấp help cùng với ứng dụng 98

9.3.1 Cung cấp WinHelp 98

9.3.2 Cung cấp HTML Help 98

10 Lập trình hướng đối tượng 99

10.1 Giới thiệu về đối tượng 99

10.1.1 Đối tượng trong VB 100

10.1.2 Modul Lớp 100

10.1.3 Tham số tuỳ chọn 105

10.1.4 Sự kiện của lớp 106

10.1.5 Huỷ đối tượng 107

10.2 Biến đối tượng 108

10.2.1 Tạo điều khiển lúc thi hành 108

10.2.2 Sự kiện của mảng điều khiển 109

10.2.3 Quản lý điều khiển như biến đối tượng 110

10.2.4 Khai báo biến đối tượng 112

10.3 Tập hợp 114

10.3.1 Thuộc tính Controls 114

10.3.2 Xác định điều khiển trên biểu mẫu 114

10.4 Biểu mẫu MDI 117

10.4.1 Biểu mẫu con (Child Form) 117

10.4.2 Tạo Instance của biểu mẫu 117

10.4.3 Xác định biểu mẫu 118

10.4.4 Tạo danh sách cửa sổ 118

11 Công cụ trong VB6 120

11.1 ADD-INS 120

11.2 Các công cụ trong ADD-INS 120

11.2.1 Trình cài đặt ứng dụng 120

11.2.2 Trình đối tượng dữ liệu tự động 120

11.2.3 Trình xây dựng dữ liệu tự động 121

11.2.4 Trình thiết kế Add-ins tự động 122

11.2.5 Trình thiết kế tự động 122

11.2.6 Tiện ích xây dựng lớp 123

11.2.7 Trình tạo thanh công cụ tự động 123

11.3 Trình đóng gói và triển khai ứng dụng 124

11.3.1 Phát hành ứng dụng 124

11.3.2 Trình đóng gói và triển khai ứng dụng 124

11.3.3 Mở trình đóng gói và triển khai trong VB 124

11.3.4 Mở trình đóng gói và triển khai như một ứng dụng độc lập. 124

11.3.5 Thi hành Wizard dưới chế độ silent 125

11.3.6 Setup toolkit 125

11.4 Bài tập 126

12 Những khái niệm cơ bản về CSDL 127

12.1 Cơ sở dữ liệu là gì? 127

12.1.1 Bộ máy (Engine) cơ sở dữ liệu là gì? 127

12.1.2 Bản và trường 128

12.1.3 Recordset là gì ? 129

12.1.4 Các kiểu cơ sở dữ liệu 129

12.1.5 Tạo lược đồ cơ sở dữ liệu 130

12.1.6 Dùng Visual Basic để tạo một cơ sở dữ liệu 130

12.1.7 Các mối quan hệ 140

12.1.8 Chuẩn hoá 141

12.2 Sử dụng cửa sổ xem dữ liệu 143

12.3 Tạo trình thiết kế môi trường dữ liệu 145

12.3.1 Tạo một giao diện người sử dụng với thiết kế DATAENVIRONMENT 146

12.4 Sử dụng điều khiển dữ liệu để tạo giao diện người sử dụng 147

12.4.1 Kết nối với một cơ sở dữ liệu và làm việc với các mẩu tin 148

12.4.2 Tạo một giao diện người sử dụng cơ bản 150

12.4.3 Thao tác trên các mẩu tin thông qua điều khiển ADO Data 151

12.4.4 Các thuộc tính quan trọng khác của điều khiển ADO DATA 155

12.5 Tổng kết 156

12.6 Hỏi và Đáp 157

13 Các đối tượng truy cập dữ liệu 158

13.1 Sử dụng mô hình đối tượng DAO 158

13.1.1 Lập trình với đối tượng 160

13.1.2 Sử dụng điều khiển DAO Data 160

13.1.3 Sử dụng thuộc tính Connect của điều khiển DAO Data để truy cập nguồn dữ liệu bên ngoài 160

13.2 Sử dụng DAO để làm việc với dữ liệu 161

13.2.1 Dùng đối tượng DataBase để kết nối với một CSDL 161

13.2.2 Sử dụng đối tượng Recordset 162

13.2.3 Chỉ ra các tuỳ chọn cho Recordset 163

13.3 Sử dụng đối tượng Field để thao tác với các trường 163

13.4 Sửdụng các phương thức duyệt với đối tượng Recorset 164

13.4.1 Sử dụng BOF và EOF để duyệt qua Recordset 164

13.4.2 Dùng BOF và EOF để xác định một Recordset có rỗng hay không 164

13.4.3 Dùng thuộc tính RecordCout để xác định số mẩu tin trong một recordset 165

13.4.4 Dùng phương thức Edit để sửa đổi giá trị trong một mẩu tin 165

13.4.5 Sử dụng phương thức AddNew và Update để tạo mẩu tin mới 166

13.4.6 Sử dụng AppendChunk để nối dữ liệu vào một trường nhị phân 167

13.4.7 Sử dụng phương thức Close để đóng Recordset 168

13.5 Tìm kiếm dữ liệu trong Recordset và bảng 168

13.5.1 Sử dụng phương thức Find để định vị mẩu tin trong một recordset 168

13.5.2 Sử dụng phương thức Seek để thi hành tìm kiếm theo chỉ mục 169

13.5.3 Lặp qua suốt tập hợp Indexes của TableDef 170

13.5.4 Sử dụng thuộc tính Bookmark để ghi nhớ vị trí trong một Recordset 171

13.5.5 sử dụng tập hợp Errors và đối tượng Error để xử lý lỗi 171

13.6 Tạo đối tượng để thao tác trên cấu trúc của một CSDL 172

13.6.1 Tạo một CSDL 172

13.6.2 Sử dụng đối tượng TableDef để thao tác với bảng 173

13.7 Làm việc với tài liệu và nơi chứa CSDL 178

13.8 Tạo và sử dụng các thuộc tính hiệu chỉnh của đối tượng DataBase 179

13.9 Tổng kết 180

13.10 Hỏi và đáp 181

14 Thiết lập báo cáo và Xuất thông tin 182

14.1 Sử dụng thiết kế DataReport 182

14.1.1 Thiết kế với DataReport 183

14.1.2 Xem và xuất DataReport 185

14.2 Sử dụng Microsoft Access để làm báo cáo 185

14.2.1 Thi hành báo cáo của Access từ Visual Basic 185

14.3 Sử dụng Crystal report để lập báo cáo 190

14.3.1 Cài đặt Crystal Reports 190

14.3.2 Dùng Crystal Reports tạo báo cáo 191

14.3.3 Thi hành báo cáo trong ứng dụng với điều khiển ActiveX của Crystal Reports 193

14.3.4 Sử dụng bản mới hơn của Crystal Reports 193

15 ODBC và các đối tượng dữ liệu từ xa 194

15.1 Định cấu hình và sử dụng ODBC 194

15.1.1 Kiến trúc của ODBC 194

15.1.2 Tạo nguồn dữ liệu 194

15.1.3 Truy cập nguồn dữ liệu với điều khiển DAO DATA và ODBCDIRECT 197

15.2 Truy cập dữ liệu dùng điều khiển dữ liệu từ xa 198

15.2.1 Sử dụng RDC 198

15.3 Sử dụng RDO trong chương trình 199

15.3.1 Quy định thuộc tính bộ máy cơ sở dữ liệu dùng đối tượng RDOENGINE. 200

15.3.2 Truy cập môi trường đối tượng rdoEnvironment 200

15.3.3 Thiết lập kết nối dùng đối tượng rdoConnection 201

15.3.4 Đáp ứng sự kiện trong RDO 203

15.4 Tạo kết nốI với trình thiết kế uerconnecttion 204

15.5 Truy cập truy vấn với trìng thiết kế UserConnection 206

15.5.1 Gọi thủ tục chứa sẵn trong một trình thiết kế UserConnection 206

15.5.2 Dùng Microsotf Query để xây dựng chuỗi SQL trong trình thiết kế UserConnection. 208

15.6 Sử dụng dữ liệu với đối tượng rdorerultset 209

15.7 Thi hành truy vấn với đối tượng rdoQuery 209

16 Truy cập cơ sở dữ liệu với lớp 211

16.1 Làm việc với lớp và đối tượng 212

16.1.1 Tạo cây phân nhánh lớp với tiện ích xây dựng lớp 212

16.1.2 Sử dụng biểu mẫu như lớp 216

16.2 Tạo Intance bội cho biểu mẫu 218

16.2.1 Sử dụng lớp và đối tượng trong truy cập cơ sở dữ liệu 218

16.3 Tạo các lớp cần sử dụng dữ liệu 221

16.3.1 Tạo lớp xuất dữ liệu 223

16.3.2 Triển khai lớp thành Active Server 224

16.4 Tổng kết 229

17 Truy cập dữ liệu từ xa 230

17.1 Client / Server và các thành phần 230

17.1.1 Cấu trúc Cilent/Server Three- Tier 230

17.2 251

18 Đối tượng dữ liệu ActiveX 252

18.1 Xây dựng ứng dụng Visual basic với ADO 252

18.1.1 Tìm hiểu cấu trúc OLE DB / ADO 252

18.1.2 Cài đặt và thiết lập tham chiếu đến ADO trong ứng dụng Visual basic 253

18.1.3 Sử dụng ADO với các thư viện đối tượng truy cập dữ liệu khác 254

18.1.4 Dùng đối tượng connection của ADO để kết nối với nguồn dữ liệu 254

18.1.5 Làm việc với con trỏ 255

18.1.6 Khoá bản ghi trong ADO 257

18.1.7 Sử dụng đối tượng Recordset của ADO để thao tác với dữ liệu 257

18.1.8 Tạo Recordset ngắt kết nối 258

18.2 Sử dụng dịch vụ dữ liệu từ xa của ADO 259

2

 

doc260 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 1929 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình đào tạo Visual Basic 6.0, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ĩa là thông tin chính xác được mong chờ bởi trình điều khiển ODBC có thể thay đổi tuỳ theo cách thực hiện. Đối với các trình cung cấp khác, chuỗi kết nối có thể có một cú pháp hoàn toàn khác.
Khi ta dùng trình cung cấp ODBC, thuộc tính ConnectionString có thể là một DSN (tên nguồn dữ liệu) hay nó là kết nối không có DSN. Đây là một ví dụ của một kết nối đến cơ sở dữ liệu dùng trình cung cấp ODBC với DSN:
Cn.Provider = “MSDASQL” 
Cn.ConnectionString = “DSN = Novelty;”
Sử dụng DSN trong chuỗi kết nối dĩ nhiên yêu cầu một DSN tên là Novelty phải thực sự tồn tại trên máy Client.
Trường hợp kết nối không có DSN:
Cn.Provider = “MSDASQL” 
Cn.ConnectionString = “DRIVER = {SQL Server}; DATABASE = Novelty; UID = sa ; PD = ;”
Kết nối này sẽ nối kết Server nhanh hơn bởi vì nó không cần đọc thông tin DSN từ bảng đăng ký của Windows. Tuy nhiên, nó kém linh hoạt vì nó gắn chặt thông tin với chương trình đã được biên dịch
Làm việc với con trỏ
Tương tự RDO và DAO, ADO hỗ trợ một số kiểu con trỏ. Ngoài việc cung cấp hỗ trợ duyệt qua từng bản ghi tại một thời điểm, các kiểu con trỏ khác nhau cho phép ta điều khiển cách quản lý của một Recordset.
Quy định vị trí của con trỏ bằng cách gán giá trị cho thuộc tính Recordset. Sau đây là các kiểu con trỏ của đối tượng Connection:
Kiểu con trỏ
Hằng
Mô tả
Phía Client
adUseClient
Tạo con trỏ phía Client
Phía Server
adUseServer
Tạo con trỏ phía Server
Chọn con trỏ kiểu Client nghĩa là ADO và OLE DB xử lý các hoạt động của con trỏ. Con trỏ Client thường không có sẵn trên server. Ví dụ, trong ADO, ta có thể tạo một Recordset không kết nối, cho phép ta thao tác với các bản ghi mà không có kết nối thường xuyên đến server. Khả năng này là một chức năng của thư viện con trỏ phía Client.
Trong ADO, thuộc tính CursorLocation áp dụng cho cả đối tượng Recordset và Connection. Nếu ta gán thuộc tính CursorLocation của đối tượng Connection, tất cả Recordset mà ta tạo từ kết nối đó đều có cùng vị trí con trỏ như đối tượng Connection.
Ngoài việc chỉ ra vị trí con trỏ, ta có khả năng tạo 4 kiểu con trỏ khác nhau trong ADO. Việc chọn lựa con trỏ tuỳ theo sự cân đối giữa chức năng và khả năng hoạt động.
Chỉ ra kiểu con trỏ bằng cách gán thuộc tính CursorType của đối tượng Recordset. Sau đây là các kiểu con trỏ có thể tạo trong ADO:
Kiểu con trỏ
Hằng
Mô tả
Forward-only
adOpenForwardOnly
Không dùng con trỏ - ta chỉ có thể chuyển về phía trước Recordset; sử dụng phương thức MovePrevious và MoveFirst sẽ sinh lỗi.
Keyset(Trong ADO được gọi là dynaset)
adOpenKeyset
Ta không thể tháy các bản ghi mới do người dùng khác thêm vào, nhưng khi họ sửa đổi hay xoá tin sẽ làm ảnh hưởng đến Recordset ta đang làm việc; đây là kiểu con trỏ hiệu quả nhất, đặc biệt là khi Recordset khá lớn.
Dynamic
adOpenDynamic
Ta có thể thấy toàn bộ thay đổi trên dữ liệu do những người sử dụng khác thực hiện trong khi ta đang mở Recordset; đây là kiểu con trỏ ít hiệu quả nhất nhưng mạnh mẽ.
Static(Trong DAO gọi là snapshot)
adOpenStatic
Bản sao của toàn bộ dữ liệu của một Recordset; kiểu này đặc biệt hữu dụng khi ta đang tìm kiếm dữ liệu hay khi thi hành báo cáo; kiểu con trỏ này rất hữu dụng cho các Recordset nhỏ.
 Dĩ nhiên, lý do để ta chọn con trỏ kiểu forward-only thay vì keyset hay dynamic là khả năng hoạt động của - nếu ta chỉ hiển thị dữ liệu chứa trong cơ sở dữ liệu – con trỏ kiểu forward-only sẽ làm khả năng hoạt động của ứng dụng hiệu quả hơn.
Lưu ý rằng, nếu trình cung cấp dữ liệu không thể tạo ra điều khiển con trỏ mà ta yêu cầu, nó sẽ tạo ra con trỏ mà nó có thể. Nói chung, nó sẽ không báo lỗi trừ phi ta cố thi hành một tác vụ nào đó vốn bị cấm đối với kiểu con trỏ.
Xác định con trỏ và các tính năng khác được hỗ trợ bởi một trình cung cấp
Bởi vì OLE DB và ADO được thiết kế để cho phép truy cập đến nhiều nguồn dữ liệu, ứng dụng cần xác định các tính năng do một trình cung cấp nhất định hỗ trợ. Có thể là trong khi một hệ cơ sở dữ liệu quan hệ cho phép tạo con trỏ kiểu forword-Only ở phía server, hệ cơ sở dữ liệu trên máy cá nhân hoặc cơ sở dữ liệu dựa trên tập tin có thể không có tính năng này.
Phương thức supports của đối tượng ADO Recordset xác định kiểu con trỏ do trình cung cấp dữ liệu hỗ trợ.
Bảng sau đây liệt kê các giá trị truyền vào phương thức Supports để xác định tính năng được hỗ trợ bởi đối tượng Recordset:
Hằng
Mô tả
adAddnew
Thêm bản ghi vào Recordset 
adApproxPosition
Thuộc tính AbsolutePage và AbsolutePosition có sẵn; chúng được dùng để kết hợp với thuộc tính Pagesize và PageCount của đối tượng Recordset để cho phép xác định trang chứa bản ghi hiện hành.
adBookmark
Có thể quy định đánh dấu trang sách trong Recordset 
adDelete
Bản ghi được xoá trong Recordset 
adHoldRecords
Bản ghi được trả về từ cơ sở dữ liệu mà không cần ghi sửa đổi hiện có vào server.
adMovePrevious
Có thể cuộn tới lui trong Recordset 
adResync
Phương thức này có sẵn 
adUpdate
Recordset cập nhật được
adUpdateBatch
Recordset có thể cập nhật được hàng loạt với phương thức UpdateBatch. Ta có thể nạp các sửa đổi trên nhiều mẫu tin trong một hoạt động duy nhất, cải tiến hiệu quả Client/Server
Khoá bản ghi trong ADO 
Tương tự các mô hình đối tượng truy cập cơ sở dữ liệu khác, ADO cho phép quy định các kiểu khoá bản ghi(Record - locking) khác nhau. Ta dùng tính năng này khi cần kiểm soát cách thức cập nhật các bản ghi với nhiều người sử dụng trong cơ sở dữ liệu. 
Quy định chế độ khoá cho đối tượng Recordset của ADO thông qua thuộc tính LockType. Dưới đây là danh sách 4 kiểu khoá bản ghi.
Hằng
Mô tả
adLockReadOnly
Cấm cập nhật bản ghi
adLockPressimistic
Bản ghi trong Recordset bị khoá khi bắt đầu sửa đổi, và tiếp tục bị khoá đến khi thi hành phương thức Update hay chuyển sang bản ghi khác.
adlockOptimistic
Bản ghi bị khoá ngay khi thi hành phương thức Update hay di chuyển sang bản ghi khác.
adlockBatchOptimistic
Hỗ trợ cập nhật nhiều bản ghi cùng lúc.
Điểm quan trọng cần lưu ý là phương thức khoá mặc định trong ADO là adLockReadOnly. Đây là một trong các điểm khác biệt đáng kể giữa lập trình ADO và DAO, vì trong DAO bởi mặ định Recordset được phép sửa đổi. Điều này có nghĩa là nếu ta không đổi thuộc tính LockType và CursorType, các Recordset của DAO luôn là chỉ đọc.
Sự hiện diện của các kiểu khoá bản ghi phụ thuộc vào những gì trình cung cấp dữ liệu hỗ trợ. Ta có thể dùng phương thức support của đối tượng Recordset để xác định trình cung cấp có hỗ trợ kiểu khoá bản ghi hay không.
Sử dụng đối tượng Recordset của ADO để thao tác với dữ liệu 
Đối tượng Recordset của ADO, tương tự Recordset của DAO và rdoresultset của RDO, là phương pháp truy cập thông tin được trả về từ trình cung cấp dữ liệu. Recordset của ADO có nhiều thuộc tính và phương thức trùng với Recordset của các mô hình khác, vì thế có thể làm việc với chúng tương tự các Recordset khác.
Vị trí của Recordset của ADO trong mô hình đối tượng ADO:
Thủ tục tạo Recordset cảu ADO tương tự tạo rdorseultset của RDO. Tuy nhiên, ADO thêm một thay đổi lý thú: khả năng tạo đối tượng Recordset không đòi hỏi một đối tượng Connection ngầm.
Dùng đối tượng Recordset để cập nhật và thêm bản ghi mới
Thêm mới và cập nhật bản ghi trong ADO hầu như tương tự như trong DAO.
Thêm mới bản ghi: 
Mở Recordset 
Thi hành phương thức AddNew
Gán giá trị cho các trường đối tượng Recordset 
Lưu bản ghi bằng phương thức Update của Recordset 
Cập nhật bản ghi:
Mở Recordset 
Gán giá trị cho các trường trong Recordset 
Lưu bản ghi bằng thi hành phương thức Update
Tạo Recordset ngắt kết nối
Khi dùng con trỏ phía Client của ADO, ta có khả năng ngắt kết nối với server và tiếp tục làm việc với dữ liệu. Cách này làm cho ứng dụng trở nên linh hoạt, bởi vì nhiều người sử dụng có thể làm việc với dữ liệu nếu họ không cần kết nối đến Server.
Để ngắt kết nối với Server trong ADO, ta quy định thuộc tính ActiveConnection của đối tượng Recordset là Nothing. Client sẽ tiếp tục làm việc với dữ liệu thậm chí khi nó không kết nối với server. 
Sử dụng dịch vụ dữ liệu từ xa của ADO
Dịch vụ dữ liệu từ xa (Remote Data Service - RDS) dùng để lấy các Recordset của ADO từ web server. Thư viên này đi kèm với ADO, chủ yếu cho phép ta dùng HTTP làm vận chuyển trên mạng cho ứng dụng cơ sở dữ liệu. Chủ yếu được dùng trong các ứng dụng trình duyệt web, nó cũng hoạt động tốt với các Client của Visual basic.
	Lưu ý RDS có tên cũ là Nối dữ liệu nâng cao (Advance Data Connector) bạn có thể tìm hiểu thêm tại địa chỉ: 
Ta cũng có thể dùng đối tượng DataControl của RDS để lấy về một đối tượng Recordset của ADO trên Internet. Đối tượng này, được phục vụ từ một máy tính chạy với IIS 3.0(microsoft Internet Infomation Server) trở lên, có khả năng trả về đối tượng Recordset của ADO đến bất kỳ Client qua HTTP. Cách dễ nhất để minh hoạ cách dùng RDS là thi hành một truy vấn trên Web server dùng đối tượng DataControl của RDS.
Tạo một đề án Standard EXE mới
Trong menu Project Referances, lập một tham chiếu đến Microsoft ActivateX Data Objects 2.0 Recordset Library
Tạo một hộp văn bản, một nút lệnh, và một danh sách trên biểu mẫu.
Đưa đoạn chương trình sau:
Option Explicit
Private rdc As RDS.DataControl
Private Sub cmdQuery_Click()
 Screen.MousePointer = vbHourglass
 Set rdc = New RDS.DataControl
 rdc.SQL = "select * from tblCustomer where state = 'IN'"
 rdc.ExecuteOptions = adcExecAsync
 rdc.Connect = "DSN=JetNovelty;"
 rdc.Server = ""
 rdc.Refresh
 While rdc.ReadyState = adcReadyStateLoaded ' busy
 DoEvents
 Wend
 Do Until rdc.Recordset.EOF
 With rdc.Recordset
 lstCustomer.AddItem.Fields("FirstName") & " " & _
 .Fields("LastName")
 .MoveNext
 End With
 Loop
 Set rdc = Nothing
 Screen.MousePointer = vbNormal
End Sub
Trong ví dụ này, server “localhost” được dùng. Đây là một cách gọi tắt của Web server chứa trên cùng một máy. Nó rất tiện dụng khi cần kiểm nghiệm chương trình.Vòng lặp While Wend dùng để chờ đáp ứng của server. Đây là tính năng bất đồng bộ của lênh gọi HTTP. Ta không thể chắc chắn mất bao nhiêu lâu thì server đáp ứng, vì vậy ta phải chờ.

File đính kèm:

  • docGiao trinh Visual Basic.doc
Tài liệu liên quan