
UBND TỈNH THANH HÓA
TRƯỜNG CAO ĐẲNG NÔNG NGHIỆP
GIÁO TRÌNH
MÔN HỌC: LẬP TRÌNH WINDOWS 2 (ADO.NET)
NGHỀ: CÔNG NGHỆ THÔNG TIN (ƯDPM)
TRÌNH ĐỘ: CAO ĐẲNG
Ban hành kèm theo Quyết định số: /QĐ-CĐNN ngày…….tháng….năm 20
của Hiệu trưởng Trường Cao đẳng Nông nghiệp Thanh Hóa
Thanh hóa, năm 2024

TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể
được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và
tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh
doanh thiếu lành mạnh sẽ bị nghiêm cấm.

LỜI NÓI ĐẦU
Trong kỷ nguyên số hóa hiện nay, việc tự động hóa và quản lý dữ liệu hiệu quả là yếu
tố then chốt cho sự thành công của mọi tổ chức, doanh nghiệp. Lập trình ứng dụng
quản lý không chỉ là một kỹ năng cần thiết mà còn là một nghệ thuật, nơi bạn biến
những yêu cầu nghiệp vụ phức tạp thành các giải pháp phần mềm trực quan và mạnh
mẽ.
Giáo trình này đƣợc biên soạn nhằm cung cấp cho bạn kiến thức và kỹ năng thực tiễn
để xây dựng các ứng dụng quản lý hoàn chỉnh bằng ngôn ngữ lập trình Visual Basic
.NET (VB.NET), một lựa chọn phổ biến nhờ cú pháp dễ hiểu và khả năng tích hợp
mạnh mẽ với môi trƣờng phát triển Visual Studio. Đồng thời, chúng ta sẽ đi sâu vào
cách tƣơng tác với SQL Server, một trong những hệ quản trị cơ sở dữ liệu hàng đầu
thế giới, để lƣu trữ, truy xuất và quản lý dữ liệu một cách an toàn và hiệu quả.
Xuyên suốt giáo trình, bạn sẽ đƣợc hƣớng dẫn từng bƣớc một, từ những khái niệm cơ
bản nhất của lập trình, thiết kế giao diện ngƣời dùng, đến các kỹ thuật nâng cao hơn
nhƣ thao tác với cơ sở dữ liệu (sử dụng ADO.NET), kiểm tra và xác thực dữ liệu, xử lý
lỗi, và đặc biệt là tạo các báo cáo chuyên nghiệp với Crystal Reports. Mỗi chƣơng đều
đƣợc minh họa bằng các ví dụ cụ thể, giúp bạn dễ dàng nắm bắt lý thuyết và áp dụng
vào thực tế.
Để phù hợp với nội dung kiến thức của khung chƣơng trình đào tạo mới,
chúng tôi biên soạn giáo trình này gồm 6 chƣơng:
Chƣơng 1.Tổng quan về ADO.Net
Chƣơng 2.Tƣơng tác với cơ sở dữ liệu
Chƣơng 3: Xử lý dữ liệu
Chƣơng 4: Bộ điều hợp dữ liệu DataAdapter
Chƣơng 5: Sử dụng các điều khiển ràng buộc dữ liệu
Chƣơng 6: Tạo báo cáo với Crystal Report
Mặc dù tập thể nhóm biên soạn đã có rất nhiều cố gắng trong quá trình
biên soạn, song không thể tránh khỏi những khiếm khuyết. Nhóm biên soạn rất
mong nhận đƣợc những đóng góp ý kiến đóng góp chân thành của bạn đọc.
T/M nhómTác giả
Chủ biên
Lê Phú Thảo

PHỤ LỤC
LỜI NÓI ĐẦU ............................................................................................................................ 3
CHƢƠNG TRÌNH MÔN HỌC .................................................................................................. 8
Tên môn học: Lập trình windows 2 (ADO.NET) .................................................................. 8
Mã môn học: MH 21 ................................................................................................................ 8
CHƢƠNG 1: TỔNG QUAN VỀ ADO.NET ............................................................................. 9
1. Lịch sử phát triển ............................................................................................................... 9
1.1. Tiền thân: ADO (ActiveX Data Objects) - Trƣớc .NET ........................................... 9
1.2. Sự ra đời của ADO.NET - .NET Framework 1.0 ....................................................... 9
1.3. Phát triển và cải tiến qua các phiên bản .NET Framework: ..................................... 10
1.4. Sự phát triển của Entity Framework ........................................................................ 10
2. Phần mềm cần thiết .......................................................................................................... 10
2.1. Môi trƣờng phát triển tích hợp (IDE): ................................................................. 10
2.2. .NET SDK (Software Development Kit) .............................................................. 11
2.3. Hệ quản trị cơ sở dữ liệu (DBMS): ....................................................................... 11
2.4. Thƣ viện nhà cung cấp dữ liệu (.NET Data Provider): ............................................ 11
3. Kiến trúc của ADO.Net ................................................................................................... 12
3.1. Các Nhà Cung Cấp Dữ liệu .NET Framework (.NET Framework Data
Providers) ....................................................................................................................... 12
3.2. Bộ Dữ liệu (DataSet) ............................................................................................. 13
3.3. Mô hình Kết nối (Connected Model) và Phi Kết nối (Disconnected Model) ... 14
3.4. Mối Quan Hệ Giữa Các Thành Phần ................................................................. 14
4. Các đối tƣợng ADO.Net trong .Net Frameword .............................................................. 15
4.1. Các đối tƣợng của .NET Framework Data Providers (Mô hình Connected) ... 15
4.2. Các đối tƣợng của DataSet (Mô hình Disconnected) .......................................... 16
5. Biểu diễn dữ liệu trong bộ nhớ ........................................................................................ 17
5.1. DataSet: Cơ sở dữ liệu trong bộ nhớ .................................................................... 17
5.2. DataTable: Biểu diễn một bảng dữ liệu ............................................................... 17
5.3. DataColumn: Biểu diễn một cột ............................................................................ 18
5.4. DataRow: Biểu diễn một hàng (bản ghi) .............................................................. 18
5.5. DataRelation: Biểu diễn mối quan hệ giữa các bảng .......................................... 18
5.6. Constraint: Biểu diễn các ràng buộc .................................................................... 18
5.7. DataView: Chế độ xem dữ liệu .............................................................................. 18
6. quản lý Recordset ............................................................................................................. 19
6.1.1. Các bƣớc cơ bản để làm việc với Recordset ......................................................... 19
6.2.2. Các thuộc tính quan trọng của Recordset ............................................................. 20
6.1.3. Hạn chế của Recordset trong ADO cổ điển ......................................................... 21
Câu hỏi ôn tập: .......................................................................................................................... 21
CHƢƠNG 2. TƢƠNG TÁC VỚI CƠ SỞ DỮ LIỆU .............................................................. 22
1. Đối tƣợng connection....................................................................................................... 22
1.1. Thuộc tính của đối tƣợng connection ...................................................................... 22
1.1.1. Các Thuộc tính Chính của SqlConnection ...................................................... 22
1.1.2. Ví dụ minh họa các thuộc tính trong VB.NET ............................................... 24
1.2. Các phƣơng thức của đối tƣợng connection ............................................................ 25
1.3. Connection kết nối qua ADO.Net Data Provider .................................................... 27
1.3.1. Khái niệm .NET Data Provider ............................................................................. 27
1.3.2. Các .NET Data Provider phổ biến ......................................................................... 28
1.3.3. Cách thức hoạt động của Connection qua ADO.NET Data Provider ................... 29
1.3.4. Ví dụ kết nối qua các ADO.NET Data Provider khác nhau (VB.NET) ............... 29
2. Đối tƣợng Command ....................................................................................................... 31
2.1. Các thuộc tính đối tƣợng Command ........................................................................ 31
2.1.1. Các thuộc tính chung (có ở hầu hết các loại Command) ................................ 31

2.1.2. Thuộc tính cụ thể cho SqlCommand (Ví dụ cho SQL Server) ........................ 32
2.1.3. Ví dụ về cách sử dụng các thuộc tính của Command ..................................... 32
2.2. Các phƣơng thức đối tƣợng Command ................................................................... 34
2.2.1. Các Thuộc tính Chính của Command (Ví dụ SqlCommand)............................... 34
2.2.2. Ví dụ minh họa các thuộc tính của SqlCommand (VB.NET) .............................. 36
3. Đối tƣợng DataReader ..................................................................................................... 38
3.1. Các thuộc tính của đối tƣợng DataReader ............................................................... 38
3.1.1. Các Thuộc tính Chính của DataReader (Ví dụ SqlDataReader) .......................... 38
3.1.2. Ví dụ Minh họa các Thuộc tính của SqlDataReader (VB.NET) .......................... 39
3.2. Các phƣơng thức của đối tƣợng DataReader ........................................................... 40
3.2.1. Các Phƣơng Thức Chính của DataReader............................................................ 40
3.2.2. Ví dụ Tổng Hợp các Phƣơng Thức của SqlDataReader (VB.NET) ..................... 43
3.3. Truy xuất các thành phần của đối tƣợng DataReader ............................................. 45
3.3.1. Các Phƣơng Pháp Truy Xuất Thành Phần (Cột)............................................ 45
3.3.2. Xử lý giá trị NULL (Rất quan trọng!) .............................................................. 46
3.3.3. Tối ƣu hóa truy xuất cột (Kết hợp GetOrdinal và Get<Type>) .................... 47
Câu hỏi ôn tập ......................................................................................................................... 48
CHƢƠNG 3. XỬ LÝ DỮ LIỆU .............................................................................................. 49
1. Thành phần của Dataset ................................................................................................... 49
1.1. Các Thành phần Chính của DataSet ........................................................................ 49
1.2. Các Thành phần của DataTable ............................................................................... 50
1.3. Cấu trúc Hình học của DataSet ................................................................................ 50
1.4. Ví dụ Minh họa các Thành phần của DataSet (VB.NET) ........................................ 51
1.5. Cấu trúc Phân cấp của DataSet ................................................................................ 53
1.6. Vai trò của DataSet ................................................................................................. 53
2. Tƣơng tác với DataSet ..................................................................................................... 53
2.1. Định nghĩa giản đồ DataTable ................................................................................ 53
2.1.1. Các Thành Phần Của Giản Đồ DataTable ....................................................... 54
2.1.2. Cách Tạo Giản Đồ DataTable ............................................................................ 55
2.1.3. Tầm Quan Trọng của Giản Đồ DataTable ....................................................... 56
2.2. Thêm dữ liệu vào DataTable .................................................................................... 57
2.2.1. Các Bƣớc Cơ Bản để Thêm Dữ liệu vào DataTable ............................................. 57
2.2.2. Các Phƣơng Pháp Thêm Dữ liệu Cụ Thể .............................................................. 57
2.2.3. Thêm Dữ liệu và Theo Dõi Thay Đổi .................................................................. 59
2.3. Truy xuất dữ liệu từ DataTable ............................................................................... 59
2.3.1. Truy Cập Các Hàng (Rows) và Cột (Columns) ................................................... 59
2.3.2. Lọc và Sắp xếp Dữ liệu trong DataTable ............................................................. 60
2.3.3. Tìm kiếm một hàng cụ thể theo khóa chính ......................................................... 60
2.3.4. Ví dụ Minh Họa Truy Xuất Dữ liệu từ DataTable (VB.NET) .............................. 61
2.4. Tìm kiếm, lọc và sắp xếp dòng ............................................................................... 63
2.4.1. Tìm Kiếm Dòng theo Khóa Chính (DataRowCollection.Find()) ......................... 63
2.4.2. Lọc và Sắp xếp Dòng (DataTable.Select()) .......................................................... 64
2.4.3. Lọc và Sắp xếp Nâng Cao (DataView) ................................................................ 66
2.5. Cập nhật DataSet ...................................................................................................... 67
2.5.1. Cập Nhật Dữ Liệu trong DataSet (Trong Bộ Nhớ) ............................................... 67
2.5.2. Lƣu Các Thay Đổi từ DataSet về Cơ Sở Dữ Liệu (DataAdapter.Update()) ........ 69
2.6. Tạo quan hệ giữa các bảng ....................................................................................... 69
2.6.1. Khái niệm DataRelation ........................................................................................ 69
2.6.2. Cách tạo và thêm DataRelation vào DataSet ....................................................... 70
2.6.3. Cách sử dụng DataRelation để điều hƣớng dữ liệu ............................................... 70
2.6.4. Ví dụ Tổng Hợp (VB.NET) .................................................................................. 71
2.7. Ràng buộc giữa các bảng ........................................................................................ 74

